Have you thought about creating a series for people who are comfortable with other distros, but totally noobs with nix? Like start from the very basics of Nix language all the way to an advanced config (python development environment, vms, etc) with flakes and all? Your videos are a true treasure, keep up the good work!
I had some issues where it told me programs.bemenu was not enabled, even though I had never installed or wanted it. If anyone else gets this error, make sure that your NixOS and Home-manager versions are the same, and have stylix pkgs follow the same version. That's what fixed it for me. Love stylix, and love your channel!
Yooo, that sound so useful. Honestly selective disabling might be the best feature, since II already have custom themes for some programs. I doubt Stylix will do a better job than hand crafted themes. But for all other programs I will use it, not everything needs to be styled to perfection
I always enjoy your videos! They are very educational! Quick question. How do you change it dynamically when you change the wall paper? Thank you in advance!
If you want to have dynamic wallpapers, it's probably worth using mkOutOfStoreSymlink + custom script. Because otherwise you'll waste a lot of disk space by copying every wallpaper to the nix store.
@@vimjoyer I appreciate your quick response. I see what you are saying. I still would like to give it a shot. Can you help me to do that? Thank you in advance!
Hey, you might wanna add an errata comment to 5:12 ; you can only access `config.stylix.base16Scheme.baseXX` if you declared it as an object. If you used pkgs.base16-schema, this value doesn't work. However, you can access the generated values (even the ones stylix generates itself) using `config.lib.stylix.colors`.
Stylix is so awesome and this video too ofcourse. I immediatly added it to my configuration but I encountered some problems: 1. The header of the left sidebar in Nautilus does not align with the right one (maybe an error in the new Nautilus) 2. Firefox and Thunderbird get an awefully bad colorscheme when using a dark polarity 3. I don't know how to style my quickmenu or the right-click menu on desktop/panel with gtk. This stops me from removing rounded corners everywhere 4. If I want to have rounded corners everywhere I encounter a problem with my terminal. It keeps the sharp corners on the bottom 5. The statusbar in nautilus (bottom right when selecting something) get's a really bad colouring. According to gtk3/4.css the base07-color (which would be much better) is not set to the colors sued by stylix Maybe someone has the same problems and/or knows how to fix these :)
Another great video! Only thing that stylix is missing is changing the styles on the fly. Do you know if apps will update their look and feel when you activate a generation with a different theme? That could allow us to just build several configurations and just activate the one with the theme we want.
@1:40 What if I use both NixOS and home-manager, but configure them separately in the same flake instead of importing home-manager as a system module? I'm not sure if I'm understanding the manual page correctly
Hello, loved the video and the tool even more! I ran in a little problem however, were my kitty terminal didn't get the colors applied to it automatically did you have any issues like that by any chance, and if yes how did you solve it?
I can't wait for the next stable release so I can rice my boot screen with plymouth and SDDM Login screen with... something (can't even set the DPI easily). It already works pretty well on the unstable branch but don't wanna go there.
So i am using hyprpaper with stylix, and I can get it to change backgrounds dynamically, yet I am not sure how to update the pallet on the current background. The docs didn't seem to have a dynamic way of updating the theme.
I don't think stylix supports changing wallpaper colors from colorscheme, only the other way around. You can check out IogaMasters prism module if you want to generate wallpaper from colorscheme.
One thing keeping me from trying stylix is the on the fly theme switch, from dark to light for example. It will require a system rebuild just to do that unfortunately
man... i wish i did it on a fresh install of nix. i get the home-manager error which needs me to remove the original files inthe directories for the switch to be done successfully.
I just tried stylix. Gotta say, I am not really a fan. It requires a lot of new packages I did not really want to install. Furthermore, it wants to recompile some GDM and Gnome packages, seemingly to apply the theme. The result was rather not as pretty and consistent I hoped it would be. Plus stylix want to take priority in defining settings for my VSCode, simply to install it's extension.
Is there a way to let Stylix do the heavy lifting (namely, for Waybar in `style.css`), by defining colors etc., then edit just one color (namely, the workspaces module) using the nix language? Let me know if I'm over-complicating this, but it would be nice to have Stylix do most of the work. Thanks.
You said, that it themes all programs that are enabled in configuration / home-configuration, does this mean that i would need to do programs.firefox.enable before it would get styled?
I get a weird error where some GTK folders are created in ./config and I have to delete them to be able to change base16 themes. If I don’t delete them the rebuild will fail. Other than that it’s pretty cool, anyone else have this issue and find a fix?
@@vimjoyer this happened on Plasma and maybe it’s something I did incorrectly ( I am new to Nix). I reinstalled and tried with Gnome and it’s working fine now.
my Nix config has a very bad code style and it's been in the process of being rewritten for about 4 months now (which means I haven't updated my system in a very long time). I just don't feel motivated enough to continue if I know that fixing 1 error will create another... and I also have to live with some bugs that could easily be fixed, if only I had a stable configuration
@@vimjoyerafter watching the entire video, i think it is too good (easy) to be true... my main concern is for apps that use more than base16 colors for their theme, and because i use catppuccin, it has themes for everything. i think if i use the official themes made by the catppuccin theme or even bundled into a program (i've seen some that actually bundle a few themes, and they always contain catppuccin) it will work way better also you can't really get the same result as using a GTK/QT theme made specifically for your color scheme when just providing stylix with 16 colors... also, will you ever make another video going more in-depth on nixvim?
There're two reasons for the bad coloring. The first reason Catpuccin uses 26 colors which allows it to be more colorful. But the more important reasons is that, at least in the neovim case (I haven't tried styling GTK/QT apps so I'm not sure), the plugin for base16 colors, base16-nvim, is pretty sucks. If you use base16-nvim for nix or haskell, you basically get a wall of white texts. It also misses some highlight groups (perhaps intentionally) It also only infact uses 14 colors, missing base06 (light foreground) and base07 (light background), this part is not the plugins fault, I honestly don't know why the official base16 guildline includes those two. Solution? Catppuccin has 26 colors but 12 of those are simply a gradient, corresponding to base00-05, the other 6 are not often used and can be algorithmically generated if necessary. Out of the other 14 colors, the ones that are not available in the base16 version of catppuccin are pink, flamingo, sky, and saphire, which can be substitude by rosewater, red, mauve, blue, or, lavender (which obviously doesn't look as good but it is the price I'm willing to pay for flexibility). You can override the highlight groups yourself to create a theme, or do it like me, fork the repo. It's also important to choose the right palette in order for it to look good. If a palette repeat a color multiple time, the result usually won't be very. If you use base07 for foreground to match the color of catppuccin, you would probably like to modify base07 of most palettes, since it is likely to be too dark (assuming you're using darkmode) or too bland, as it is designed to be a background color. My two favourite palettes are Catppuccin Mocha and Kanagawa (with modified base07). I haven't tried a lot of palette though, as I use translucent terminal background so I need a compatible wallpaper for every palette otherwise it wouldn't be very readable. Ideally I would like to use base24 instead but it not very widely supported.
@@vimjoyer Well I tried enabling everything I could but, no change in terminal which is what I really wanted unfortunately. The themes look really good in boot tho(the one place it's working for me rn lol)! Anyways I've only been using nixos for like a week so I'm probably doing like seven different things wrong but I'll get it eventually and thanks for helping out (:
Easy ? Only for those who managed to install flake and a home manager... I spent 8 hours today trying to install by following your tutorial and your github without success :( and when I ask for help I get an answer " oh but you're not a developer!?" No, I'm bit an advanced user, but not a coder...
Is anyone else having issues with trying to use a color from the palette manually? For instance, the example from the video wayland.windowManager.hyprland.settings.general.”col.active_border” = lib.mkForce “rgb(${config.stylix.base16Scheme.base0E})“; Errors with: value is a string with context while a set was expected
I also get an error when trying to access a color from the palette manually, but my error is: "value is path while a set was expected". Would love to know how I can fix this, so that I can apply the stylix colors to my custom waybar theme.
`config.lib.stylix.colors.base00` or whatever color you wanted seemed to work for me. had to dig through stylix issues page a little to figure it out..
Hi, 4:50, how did you manage to get the themes for terminal emulators working? I can't seem to get it working This is in my home.nix: stylix = { enable = true; base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-material-dark-hard.yaml"; targets.kitty.enable = true; }; and my flake.nix: outputs = { self, nixpkgs, home-manager, stylix, ... }@inputs: { nixosConfigurations.default = nixpkgs.lib.nixosSystem { specialArgs = {inherit inputs;}; modules = [ ./configuration.nix inputs.home-manager.nixosModules.default inputs.stylix.nixosModules.stylix ]; }; homeConfigurations."userName" = home-manager.lib.homeManagerConfiguration { modules = [ stylix.homeManagerModules.stylix ./home.nix ]; }; }; }
stylix.enable = true is now required to enable stylix!
I can't put Blur in Kitty terminal, I try with picom, it doesn't work, because it says "there is a composer running"
Have you thought about creating a series for people who are comfortable with other distros, but totally noobs with nix? Like start from the very basics of Nix language all the way to an advanced config (python development environment, vms, etc) with flakes and all?
Your videos are a true treasure, keep up the good work!
I will make more introduction videos in the future. A simple introductory devenv, flake, derivation and vm videos are all planned 👍
@@vimjoyer always feeling like devenv with python and c++ are nightmare.. hope you will cover it ...
@@vimjoyer that's so cool! i will share those videos with friends the moment they come out
Curse of knowledge might be a bit of a problem.
@@karmicbacklash3763 Of course
"You obviously don't want monospace font in your browser..."
Me : yes, I use monospace fonts in everything 🗿
I used to do it too 😁
"16 colors oughta be enough for anybody" -- Nix Gates
Thank you, I'm actually messing with Nix theming and this comes very handy as I'm doing a terrible job at it :)
same, now lets see if this works
I had some issues where it told me programs.bemenu was not enabled, even though I had never installed or wanted it. If anyone else gets this error, make sure that your NixOS and Home-manager versions are the same, and have stylix pkgs follow the same version. That's what fixed it for me. Love stylix, and love your channel!
got that nix drip
Yes lol
This is so useful! Thank you so much for making a vid on this!
Yooo, that sound so useful. Honestly selective disabling might be the best feature, since II already have custom themes for some programs. I doubt Stylix will do a better job than hand crafted themes. But for all other programs I will use it, not everything needs to be styled to perfection
As a UI/UX buff, this is a game changer.
Why didn't I find this video before I started messing with themes in nixos lol. Thank you I'm switching to this right now
Thank you for another wonderful video on NixOS
If there is a single person you could call a gangster in the nix space, it's certainly vimjoyer.
Basically waybar for NixOS, that's neat!
Edit: Pywal, not waybar, brain didn't work
What? Stylix is not a bar. It just applies colors to other programs that may or may not be bars
@@vimjoyer oh I mixed it up with some other tool
Edit: Was talking about Pywal
Can you cover Matugen too? I've found many devs starting to use it.
I always enjoy your videos! They are very educational! Quick question. How do you change it dynamically when you change the wall paper? Thank you in advance!
If you want to have dynamic wallpapers, it's probably worth using mkOutOfStoreSymlink + custom script. Because otherwise you'll waste a lot of disk space by copying every wallpaper to the nix store.
@@vimjoyer I appreciate your quick response. I see what you are saying. I still would like to give it a shot. Can you help me to do that? Thank you in advance!
Please make a video of full hyprland customization from scratch on minimal install or gnome install, waiting for it for a long time!! Please!!!!!
Hey, you might wanna add an errata comment to 5:12 ; you can only access `config.stylix.base16Scheme.baseXX` if you declared it as an object. If you used pkgs.base16-schema, this value doesn't work. However, you can access the generated values (even the ones stylix generates itself) using `config.lib.stylix.colors`.
YOU ARE THE MAN
lessgo stylix vid
Stylix is so awesome and this video too ofcourse. I immediatly added it to my configuration but I encountered some problems:
1. The header of the left sidebar in Nautilus does not align with the right one (maybe an error in the new Nautilus)
2. Firefox and Thunderbird get an awefully bad colorscheme when using a dark polarity
3. I don't know how to style my quickmenu or the right-click menu on desktop/panel with gtk. This stops me from removing rounded corners everywhere
4. If I want to have rounded corners everywhere I encounter a problem with my terminal. It keeps the sharp corners on the bottom
5. The statusbar in nautilus (bottom right when selecting something) get's a really bad colouring. According to gtk3/4.css the base07-color (which would be much better) is not set to the colors sued by stylix
Maybe someone has the same problems and/or knows how to fix these :)
Another great video!
Only thing that stylix is missing is changing the styles on the fly. Do you know if apps will update their look and feel when you activate a generation with a different theme?
That could allow us to just build several configurations and just activate the one with the theme we want.
Yeah, you could probably achieve on-the-fly switching with specializations, but I don't think every app will react to changes immediately
Amazing rice fellow gruvbox enjoyer)
@1:40 What if I use both NixOS and home-manager, but configure them separately in the same flake instead of importing home-manager as a system module? I'm not sure if I'm understanding the manual page correctly
Then you can use both modules separately. NixOS cannot influence your standalone home-manager configuration.
Hello, loved the video and the tool even more! I ran in a little problem however, were my kitty terminal didn't get the colors applied to it automatically did you have any issues like that by any chance, and if yes how did you solve it?
Make sure you enabled kitty with `programs.kitty.enable = true`, and restarted the terminal after a rebuild
I can't wait for the next stable release so I can rice my boot screen with plymouth and SDDM Login screen with... something (can't even set the DPI easily). It already works pretty well on the unstable branch but don't wanna go there.
if possible can you please do a video on ags or eww bar ?
Yeah, I can do that. I rewrote my bar with ags some time ago, but I lost it. I'll think about making a video once I do it again 👍
@@vimjoyer thanks
@@vimjoyer +1 on ags vid
So i am using hyprpaper with stylix, and I can get it to change backgrounds dynamically, yet I am not sure how to update the pallet on the current background. The docs didn't seem to have a dynamic way of updating the theme.
I don't think stylix supports changing wallpaper colors from colorscheme, only the other way around. You can check out IogaMasters prism module if you want to generate wallpaper from colorscheme.
One thing keeping me from trying stylix is the on the fly theme switch, from dark to light for example.
It will require a system rebuild just to do that unfortunately
True, but that's an issue of styling with home-manager in general.
man... i wish i did it on a fresh install of nix. i get the home-manager error which needs me to remove the original files inthe directories for the switch to be done successfully.
Use `home-manager.backupFileExtension = ".backup";` to make home-manager backup the original files and rebuild successfully
can you make a series about how to incorporate a yubikey with your nixos config? e.g. with sops-nix
I don't have a yubikey
I have one request can you create a video differentiating Nix base setup and Flakes? what is the difference actually there is.
I'll make a more in-depth video about flakes, talking about what they are and what they aren't
Sadly it's not working for me. I use foot + tmux + fish. After enabling stylix, tmux won't start up properly, and cursor movements are really glitchy.
I just tried stylix. Gotta say, I am not really a fan. It requires a lot of new packages I did not really want to install. Furthermore, it wants to recompile some GDM and Gnome packages, seemingly to apply the theme. The result was rather not as pretty and consistent I hoped it would be. Plus stylix want to take priority in defining settings for my VSCode, simply to install it's extension.
Is there a way to let Stylix do the heavy lifting (namely, for Waybar in `style.css`), by defining colors etc., then edit just one color (namely, the workspaces module) using the nix language? Let me know if I'm over-complicating this, but it would be nice to have Stylix do most of the work. Thanks.
No to my knowledge, but I remember there was an open issue about it on the stylix GitHub page.
Oh I'll search for that then, thanks.
Hi could you possibly do a video on the nix user repository, specifically with flakes as I cannot seem to get it to work
It's not really useful tbh, but I might cover it in the future.
I get an error that home manager service couldn't load when adding stylix 😢
You said, that it themes all programs that are enabled in configuration / home-configuration, does this mean that i would need to do programs.firefox.enable before it would get styled?
Firefox is using GTK, so you would need to enable that
Unrelated to ricing but I heard there were some drama involving NixOS recently. Does anyone know what it was about?
Any distro will have some drama to it at some point. NixOS will manage, don't worry
Please a tutorial to install nixos using virtual machine on windows like hyper-v
I want to learn nixos and do my own configuration without messing up with the real config installed on my machine
Why is there no Oxygen cursors package available in nix though? Can't be that hard to do...
you can package it yourself, just a simple copy derivation should be enough
I get a weird error where some GTK folders are created in ./config and I have to delete them to be able to change base16 themes. If I don’t delete them the rebuild will fail. Other than that it’s pretty cool, anyone else have this issue and find a fix?
Might be worth opening an issue on github
@@vimjoyer this happened on Plasma and maybe it’s something I did incorrectly ( I am new to Nix). I reinstalled and tried with Gnome and it’s working fine now.
Very interesting tool.
what video editing program do you use?
motion canvas
my Nix config has a very bad code style and it's been in the process of being rewritten for about 4 months now (which means I haven't updated my system in a very long time). I just don't feel motivated enough to continue if I know that fixing 1 error will create another...
and I also have to live with some bugs that could easily be fixed, if only I had a stable configuration
You could try rewriting it from scratch. I did it a while ago, and now my config is quite easy to edit and extend.
@@vimjoyerafter watching the entire video, i think it is too good (easy) to be true...
my main concern is for apps that use more than base16 colors for their theme, and because i use catppuccin, it has themes for everything. i think if i use the official themes made by the catppuccin theme or even bundled into a program (i've seen some that actually bundle a few themes, and they always contain catppuccin) it will work way better
also you can't really get the same result as using a GTK/QT theme made specifically for your color scheme when just providing stylix with 16 colors...
also, will you ever make another video going more in-depth on nixvim?
There're two reasons for the bad coloring. The first reason Catpuccin uses 26 colors which allows it to be more colorful. But the more important reasons is that, at least in the neovim case (I haven't tried styling GTK/QT apps so I'm not sure), the plugin for base16 colors, base16-nvim, is pretty sucks. If you use base16-nvim for nix or haskell, you basically get a wall of white texts. It also misses some highlight groups (perhaps intentionally) It also only infact uses 14 colors, missing base06 (light foreground) and base07 (light background), this part is not the plugins fault, I honestly don't know why the official base16 guildline includes those two.
Solution? Catppuccin has 26 colors but 12 of those are simply a gradient, corresponding to base00-05, the other 6 are not often used and can be algorithmically generated if necessary. Out of the other 14 colors, the ones that are not available in the base16 version of catppuccin are pink, flamingo, sky, and saphire, which can be substitude by rosewater, red, mauve, blue, or, lavender (which obviously doesn't look as good but it is the price I'm willing to pay for flexibility). You can override the highlight groups yourself to create a theme, or do it like me, fork the repo.
It's also important to choose the right palette in order for it to look good. If a palette repeat a color multiple time, the result usually won't be very. If you use base07 for foreground to match the color of catppuccin, you would probably like to modify base07 of most palettes, since it is likely to be too dark (assuming you're using darkmode) or too bland, as it is designed to be a background color. My two favourite palettes are Catppuccin Mocha and Kanagawa (with modified base07). I haven't tried a lot of palette though, as I use translucent terminal background so I need a compatible wallpaper for every palette otherwise it wouldn't be very readable.
Ideally I would like to use base24 instead but it not very widely supported.
I can't seem to find a way to make the background image span multiple monitors. Does anyone know if there's a way to do this with stylix?
🐐
where can you get a list of apps that work with stylix?
You can check out the stylix book linked in the description. It lists all available targets in the NixOS/hm options section
Is it supports live colorscheme change without rebuild switch?
No
Could you do a vid where you want to mount another ssd
based, nixos is the best, i use NixOS btw
thats op
крутий
дякую, ти теж
No errors but, no color changes either. tried both versions :/
Make sure you enable some programs with `program..enable = true`
@@vimjoyer Well I tried enabling everything I could but, no change in terminal which is what I really wanted unfortunately. The themes look really good in boot tho(the one place it's working for me rn lol)! Anyways I've only been using nixos for like a week so I'm probably doing like seven different things wrong but I'll get it eventually and thanks for helping out (:
@@yaskokai2587 i get this exact issue did you ever solve this?
@@theonekingboo I did! just had to put programs.alacritty.enable = true; in home.nix(not configuration.nix)!
@@theonekingboo I'm getting this now and working with a few people to figure out what's up! I'll let you know if I figure it out.
love u
BetterDiscord ?
Messed around with this... If you have already configured setup, this is useless.
I mean yeah, kinda
@@vimjoyer but your video of course is great as always! Also stylix plymouth theme is good.
Easy ? Only for those who managed to install flake and a home manager... I spent 8 hours today trying to install by following your tutorial and your github without success :( and when I ask for help I get an answer " oh but you're not a developer!?" No, I'm bit an advanced user, but not a coder...
If you run into any issues, feel free to ask any questions on the discord server. You can ping me any time there.
@@vimjoyer i know Yuri ;) (im Christophe) you are a gentleman ;)
Видео нет уже месяц вимджоер умер или отписка
12 дней 🥹
Is anyone else having issues with trying to use a color from the palette manually? For instance, the example from the video
wayland.windowManager.hyprland.settings.general.”col.active_border” =
lib.mkForce “rgb(${config.stylix.base16Scheme.base0E})“;
Errors with: value is a string with context while a set was expected
I also get an error when trying to access a color from the palette manually, but my error is:
"value is path while a set was expected".
Would love to know how I can fix this, so that I can apply the stylix colors to my custom waybar theme.
`config.lib.stylix.colors.base00` or whatever color you wanted seemed to work for me. had to dig through stylix issues page a little to figure it out..
@@tinacolvin4779 Awesome, thank you. I must have missed it.
@@tinacolvin4779 thanks a lot, it works now
Hi, 4:50, how did you manage to get the themes for terminal emulators working? I can't seem to get it working
This is in my home.nix:
stylix = {
enable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-material-dark-hard.yaml";
targets.kitty.enable = true;
};
and my flake.nix:
outputs = { self, nixpkgs, home-manager, stylix, ... }@inputs: {
nixosConfigurations.default = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs;};
modules = [
./configuration.nix
inputs.home-manager.nixosModules.default
inputs.stylix.nixosModules.stylix
];
};
homeConfigurations."userName" = home-manager.lib.homeManagerConfiguration {
modules = [
stylix.homeManagerModules.stylix
./home.nix
];
};
};
}