diff --git a/flake.lock b/flake.lock index 58c5938..34db7a5 100644 --- a/flake.lock +++ b/flake.lock @@ -1,69 +1,50 @@ { "nodes": { - "base16": { - "inputs": { - "fromYaml": "fromYaml" - }, + "catppuccin-bat": { + "flake": false, "locked": { - "lastModified": 1746562888, - "narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=", - "owner": "SenchoPens", - "repo": "base16.nix", - "rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89", + "lastModified": 1734996624, + "narHash": "sha256-6fWoCH90IGumAMc4buLRWL0N61op+AuMNN9CAR9/OdI=", + "owner": "catppuccin", + "repo": "bat", + "rev": "699f60fc8ec434574ca7451b444b880430319941", "type": "github" }, "original": { - "owner": "SenchoPens", - "repo": "base16.nix", + "owner": "catppuccin", + "repo": "bat", "type": "github" } }, - "base16-fish": { + "catppuccin-cava": { "flake": false, "locked": { - "lastModified": 1622559957, - "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", - "owner": "tomyun", - "repo": "base16-fish", - "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", + "lastModified": 1725405604, + "narHash": "sha256-5AQcCRGaAxP5KFzkJtkKFYq0Ug2xVIEqr2r/k87uWwY=", + "owner": "catppuccin", + "repo": "cava", + "rev": "0746f77974330338ee2e1e4d1ef9872eba57eb26", "type": "github" }, "original": { - "owner": "tomyun", - "repo": "base16-fish", + "owner": "catppuccin", + "repo": "cava", "type": "github" } }, - "base16-helix": { + "catppuccin-starship": { "flake": false, "locked": { - "lastModified": 1736852337, - "narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=", - "owner": "tinted-theming", - "repo": "base16-helix", - "rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5", + "lastModified": 1733541952, + "narHash": "sha256-1w0TJdQP5lb9jCrCmhPlSexf0PkAlcz8GBDEsRjPRns=", + "owner": "catppuccin", + "repo": "starship", + "rev": "e99ba6b210c0739af2a18094024ca0bdf4bb3225", "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", + "owner": "catppuccin", + "repo": "starship", "type": "github" } }, @@ -89,22 +70,6 @@ "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", @@ -126,21 +91,6 @@ "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": [ @@ -162,108 +112,6 @@ "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": [ @@ -285,28 +133,6 @@ "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" @@ -357,6 +183,22 @@ "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, @@ -409,175 +251,18 @@ "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", - "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" + "nixpkgs-unstable": "nixpkgs-unstable", + "nur": "nur" } }, "treefmt-nix": { @@ -600,28 +285,6 @@ "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 950fc37..8154ccc 100644 --- a/flake.nix +++ b/flake.nix @@ -3,6 +3,7 @@ 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 = { @@ -22,14 +23,23 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - stylix = { - url = "github:nix-community/stylix/release-25.05"; - 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; }; }; outputs = { nixpkgs, + nixpkgs-unstable, self, ... } @ inputs: let @@ -39,6 +49,10 @@ inherit system; config.allowUnfree = true; }; + pkgs-unstable = import nixpkgs-unstable { + inherit system; + config.allowUnfree = true; + }; lib = nixpkgs.lib; in { nixosConfigurations = { @@ -47,7 +61,7 @@ modules = [(import ./hosts/frues-pc)]; specialArgs = { host = "frues-pc"; - inherit self inputs username; + inherit self inputs username pkgs-unstable; }; }; frues-port = nixpkgs.lib.nixosSystem { @@ -55,7 +69,7 @@ modules = [(import ./hosts/frues-port)]; specialArgs = { host = "frues-port"; - inherit self inputs username; + inherit self inputs username pkgs-unstable; }; }; frues-vm = nixpkgs.lib.nixosSystem { @@ -63,7 +77,7 @@ modules = [(import ./hosts/frues-vm)]; specialArgs = { host = "frues-vm"; - inherit self inputs username; + inherit self inputs username pkgs-unstable; }; }; fruesos-live = nixpkgs.lib.nixosSystem { @@ -74,7 +88,7 @@ ]; specialArgs = { host = "fruesos-live"; - inherit self inputs username; + inherit self inputs username pkgs-unstable; }; }; }; diff --git a/modules/core/user.nix b/modules/core/user.nix index d5d95cf..47df7a2 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;}; + extraSpecialArgs = {inherit inputs username host pkgs-unstable;}; users.${username} = { imports = [./../home]; home.username = "${username}"; diff --git a/modules/home/bat.nix b/modules/home/bat.nix index c080434..186be1f 100644 --- a/modules/home/bat.nix +++ b/modules/home/bat.nix @@ -3,6 +3,13 @@ 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 2d5ae50..fed8308 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" = true; + "privacy.clearOnShutdown.history" = false; "privacy.clearOnShutdown.cookies" = false; "network.cookie.lifetimePolicy" = 0; "identity.fxaccounts.enabled" = true; @@ -35,7 +35,6 @@ libredirect multi-account-containers clearurls - tridactyl hoppscotch ]; }; @@ -49,7 +48,6 @@ "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 7947fdc..3d56fd2 100644 --- a/modules/home/btop.nix +++ b/modules/home/btop.nix @@ -3,8 +3,11 @@ 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 7e9c288..f32fd0f 100644 --- a/modules/home/cava.nix +++ b/modules/home/cava.nix @@ -7,5 +7,10 @@ enable = true; }; - stylix.targets.cava.rainbow.enable = true; + # https://github.com/catppuccin/cava + home.file.".config/cava/config".text = + '' + # custom cava config + '' + + builtins.readFile "${inputs.catppuccin-cava}/themes/mocha.cava"; } diff --git a/modules/home/default.nix b/modules/home/default.nix index c7740c0..f14fe4d 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,7 +30,6 @@ ++ [(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 85c1fdd..22e9a23 100644 --- a/modules/home/fuzzel.nix +++ b/modules/home/fuzzel.nix @@ -1,13 +1,14 @@ -{lib, ...}: { +{...}: { programs.fuzzel = { enable = true; settings = { main = { - use-bold = true; + font = "JetBrainsMono Nerd Font:weight=bold:size=14"; line-height = 25; fields = "name,generic,comment,categories,filename,keywords"; terminal = "kitty"; prompt = "'🔍 '"; + icon-theme = "Papirus-Dark"; layer = "top"; lines = 10; width = 35; @@ -15,6 +16,15 @@ 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 e586066..96fd766 100644 --- a/modules/home/gtk.nix +++ b/modules/home/gtk.nix @@ -15,5 +15,31 @@ 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 fac924a..a0d9e4c 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,25 +234,36 @@ # windowrule windowrule = [ - "float,class:vimiv" - "center,class:vimiv" - "float,class:mpv" - "center,class:mpv" - "size 1200 725,class:mpv" + "float,imv" + "center,imv" + "size 1200 725,imv" + "float,mpv" + "center,mpv" + "tile,Aseprite" + "size 1200 725,mpv" "float,title:^(float_kitty)$" "center,title:^(float_kitty)$" "size 950 600,title:^(float_kitty)$" - "tile, class:neovide" - "idleinhibit focus,class:mpv" - "float,class:udiskie" + # "pin,wofi" + # "float,wofi" + # "noborder,wofi" + "tile, neovide" + "idleinhibit focus,mpv" + "float,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 1104faf..4ccb88a 100644 --- a/modules/home/hyprland/hyprlock.nix +++ b/modules/home/hyprland/hyprlock.nix @@ -1,73 +1,97 @@ -{config, ...}: { - programs.hyprlock = { - enable = true; - settings = let - colors = with config.lib.stylix.colors; { - text = base05; - accent = base0E; - warning = base0A; - }; - in { - general = { - hide_cursor = true; - }; +{pkgs, ...}: { + programs.hyprlock.enable = true; + xdg.configFile."hypr/hyprlock.conf".text = '' + $red = rgb(f38ba8) + $yellow = rgb(f9e2af) + $lavender = rgb(b4befe) - background = { - path = "~/.config/hypr/wallpaper.png"; - blur_passes = 2; - }; + $mauve = rgb(cba6f7) + $mauveAlpha = cba6f7 - label = [ - # Time - { - text = "cmd[update:30000] echo \" $(date +\"%R\") \""; - color = "rgb(${colors.text})"; - font_size = 110; - shadow_passes = 3; - shadow_size = 3; + $base = rgb(1e1e2e) + $surface0 = rgb(313244) + $text = rgb(cdd6f4) + $textAlpha = cdd6f4 - position = "0, -100"; - halign = "center"; - valign = "top"; - } + $accent = $lavender + $accentAlpha = $mauveAlpha + $font = JetBrainsMono Nerd Font - # 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"; - } - ]; + # GENERAL + general { + disable_loading_bar = true + hide_cursor = true + } - # User Avatar - image = { - path = "~/.face.png"; - size = 125; - border_color = "rgb(${colors.accent})"; + # BACKGROUND + background { + monitor = + path = ~/.config/hypr/wallpaper.png + color = $base + blur_passes = 2 + } - position = "0, -450"; - halign = "center"; - valign = "center"; - }; + # TIME + label { + monitor = + text = cmd[update:30000] echo " $(date +"%R") " + color = $text + font_size = 110 + font_family = $font + shadow_passes = 3 + shadow_size = 3 - 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"; - }; - }; - }; + 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 + } + ''; } diff --git a/modules/home/kitty.nix b/modules/home/kitty.nix index fc25edf..b45cdec 100644 --- a/modules/home/kitty.nix +++ b/modules/home/kitty.nix @@ -4,8 +4,16 @@ 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/nvim.nix b/modules/home/nvim.nix index 875df48..5539b9f 100644 --- a/modules/home/nvim.nix +++ b/modules/home/nvim.nix @@ -1,18 +1,9 @@ {pkgs, ...}: { - home.packages = with pkgs; [lunarvim]; - - programs.neovide = { + programs.neovim = { enable = true; - settings = { - neovim-bin = "${pkgs.lunarvim}/bin/lvim"; - }; + vimAlias = true; }; - - home.shellAliases = builtins.listToAttrs (map (key: { - name = key; - value = "lvim"; - }) - ["vi" "vim" "nvim"]); + home.packages = [pkgs.lunarvim]; home.sessionPath = ["${pkgs.clang-tools}/bin:$PATH"]; } diff --git a/modules/home/qt.nix b/modules/home/qt.nix index 13bebf3..49b35b1 100644 --- a/modules/home/qt.nix +++ b/modules/home/qt.nix @@ -4,4 +4,34 @@ ... }: { 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 6651c79..70c1898 100644 --- a/modules/home/starship.nix +++ b/modules/home/starship.nix @@ -1,4 +1,8 @@ -{lib, ...}: { +{ + lib, + inputs, + ... +}: { programs.starship = { enable = true; @@ -6,33 +10,37 @@ 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" = " "; - # }; - }; + # directory.substitutions = { + # "~" = "󰋞"; + # "Documents" = " "; + # "Downloads" = " "; + # "Music" = " "; + # "Pictures" = " "; + # }; + + palette = "catppuccin_mocha"; + } + // builtins.fromTOML (builtins.readFile "${inputs.catppuccin-starship}/themes/mocha.toml"); }; } diff --git a/modules/home/stylix.nix b/modules/home/stylix.nix deleted file mode 100644 index 388c757..0000000 --- a/modules/home/stylix.nix +++ /dev/null @@ -1,56 +0,0 @@ -{ - 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 bd33d2c..7e9c403 100644 --- a/modules/home/vscodium.nix +++ b/modules/home/vscodium.nix @@ -22,6 +22,10 @@ ms-vscode.cmake-tools # TOML tamasfe.even-better-toml + + # Color theme + catppuccin.catppuccin-vsc + catppuccin.catppuccin-vsc-icons ]; userSettings = { @@ -30,6 +34,12 @@ "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 f8a460b..260671d 100644 --- a/modules/home/waybar/settings.nix +++ b/modules/home/waybar/settings.nix @@ -1,4 +1,17 @@ -{host, ...}: { +{ + custom ? { + font = "JetBrainsMono Nerd Font"; + fontsize = "12"; + primary_accent = "cba6f7"; + secondary_accent = "89b4fa"; + tertiary_accent = "f5f5f5"; + background = "11111B"; + opacity = ".85"; + cursor = "Numix-Cursor"; + }, + host, + ... +}: { programs.waybar.settings.mainBar = { position = "top"; layer = "top"; diff --git a/modules/home/waybar/style.nix b/modules/home/waybar/style.nix index 143fd02..afb4ebc 100644 --- a/modules/home/waybar/style.nix +++ b/modules/home/waybar/style.nix @@ -1,94 +1,100 @@ { - lib, - config, + custom ? { + font = "JetBrainsMono Nerd Font"; + fontsize = "12"; + primary_accent = "cba6f7"; + secondary_accent = "89b4fa"; + tertiary_accent = "cdd6f4"; + background = "11111B"; + opacity = ".98"; + cursor = "Numix-Cursor"; + }, ... }: { - stylix.targets.waybar.addCss = false; - programs.waybar.style = '' * { border: none; - border-radius: 0; + border-radius: 0px; + font-family: ${custom.font}; + font-weight: bold; + font-size: 15px; 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: @base00; - background-color: @base0D; - min-width: 15px; + color: #${custom.background}; + background: #${custom.secondary_accent}; transition: all 0.2s ease-in-out; } - #workspaces button.visible { - background-color: @base0F; - } - #workspaces button.active { - background-color: @base0E; + background-color: #${custom.primary_accent}; + color: #${custom.background}; + border-radius: 15px; min-width: 35px; + background-size: 200% 200%; + transition: all 0.2s ease-in-out; } #workspaces button:hover { - background-color: @base07; + background-color: #b4befe; + color: #${custom.background}; + border-radius: 15px; 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; @@ -96,39 +102,46 @@ } #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: @base0D; + color: #${custom.secondary_accent}; + background: #${custom.palette.tertiary_background_hex}; border-radius: 0px 0px 40px 0px; margin: 0px; padding: 0px 30px 0px 10px; @@ -136,26 +149,37 @@ } #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: @base05; + color: #${custom.tertiary_accent}; } #custom-playerctl.backward { - color: @base0E; + color: #${custom.primary_accent}; border-radius: 24px 0px 0px 10px; padding-left: 16px; margin-left: 7px; } #custom-playerctl.play { - color: @base0D; + color: #${custom.secondary_accent}; padding: 0 5px; } #custom-playerctl.forward { - color: @base0E; + color: #${custom.primary_accent}; 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; + } ''; }