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;
+ }
'';
}