How can I use this in nixos? #166
Replies: 13 comments 36 replies
-
Hi, thank you! It should be possible in theory, but I'm not sure how nix configs work as I'm kinda new to Linux as well and only (mostly) used Arch. If anyone knows how to re-configure this in nix, fill free to copy my dots to create a nix version! |
Beta Was this translation helpful? Give feedback.
-
I'm working on this - https://github.com/ashe/dotfiles/tree/theme-switching Note that due to the nature of my config its heavily specialised to my system. That said, if you look at Some things will need scripts to get around; others need some home-manager hackery. It's a slow process. Right now, GTK is the most annoying thing (maybe this is why hyprdots prefers dolphin over nautilus, food for thought 😛 ). I think it's because nautilus is on GTK 4 maybe? And I've only configured GTK 3? I have no clue. Will probably just move on to QT soon and then learn about Kvantum and how that works. Lots to do. |
Beta Was this translation helpful? Give feedback.
-
hey sorry I have not used NIX, but all the scripts I use here are very much kinda basic, so these scripts should work in NIX as well right?!?
Kvantum is completely svg file based engine, so its highly customizable, easy to manually modify from an existing theme but difficult to generate it on the fly! |
Beta Was this translation helpful? Give feedback.
-
oh strange, does it only happen with style_1? my wild guess would be the so, could you please try adjusting (reducing) this value (also try using px instead of % ) to scale it for your monitor res...
Hahaa no worries... I didn't mean 100% feature parity, i was Just referring to wallpaper and theme switching.
Oof... Looks like I underestimated the work required to configure nix... But your config files looks good, so looking forward to see it working in your system :) |
Beta Was this translation helpful? Give feedback.
-
What's the latest situation? Is the same for NixOS? |
Beta Was this translation helpful? Give feedback.
-
Hey all! I want to give a quick overview of my progarss towards replicating a similar feature set on my NixOS system with Home-Manager. First off, let me say that the amount of effort that must have gone into Hyprdots is quite astonishing and I do appreciate your work. I initiall thought I could get away with checking out the repo, applying a few patches and rewriting the installation scripts. The problem is that there's only one thing that Home-Manager dislikes more than state and that is state mixed with configuration. Core ApproachChromaI rely on an approach similar to, but still somewhat different from, Ashe's. The core of my efforts is my new theming module that I've dubbed Chroma. You can find it in copper-chroma.nix. It exposes a theming system that other apps and frameworks can be plugged into. Integrations for supported applications are then defined in the copper-chroma folder. Theme definitions are not distributed among the various application configs, but centralized in the themes directory. From this definition, I build one folder per theme, containing all relevant files and settings. For configurations that support includes, I only include the theme config, for tools whose configs do not support includes, I template the whole configuration. All tools are configured to read configs from SwimI have also built wallpaper switching from the ground-up as my swim module. Swim can hook into Chroma to offer a different set of wallpapers per theme. Due to the modularity of Chroma, it needs no special knowledge of Swim and the only Chroma-specific code for Swim is remembering the last-active wallpaper for each theme. Neither of the above know anything about Rofi or the thumbnails it needs. Further DifferencesWherever possible, I strive to isolate features from one another as much as possible. You can pick and choose which parts of Hyprdots you want to activate, by activating my corresponding features. I have tried to keep any large assets out of my main repository, that means I install all themes from a package: preferably from the standard sources, though I have also packaged themes that weren't already available. Luckily, most themes are already packaged in nixpkgs, so I didn't need to do significant work for them. One that was not already available is the SDDM theme, which I have packaged in My Hyprland initialization is quite different from upstream. Instead of launching dunst, waybar, etc. as part of my Hyprland configuration, I manage all of these via systemd user units. Also, the Feature supportAs of now, this is an incomplete port/rewrite, and it will never be complete in the sense that there's some features I don't plan to port.
Among the things I don't plan to support for the forseeable future is:
Thare are also some things, which I plan that are not yet in Hyprdots:
AdvantagesThere are two main advantages to my approach: it is easily extensible, i.e. someone could easily maintain theming for their own set of applications without needing to maintain a fork and someone else could easily have their own local themes. It is also easier to cross-reference theme settings without complicated scripts. For example, I can easily set the Qt font based on the same value as the Gtk font without any need to parse configuration files, since everything is available in Nix. Usage under non-NixOSFurther, the majority of my configuration work is specific to Home-Manager and can be used on non-NixOS Linux distributions that uses systemd. This should get you a majority of the way, even if Hyprdots doesn't dirctly support your distribution of choice. You'll loose out on anything configured in the NixOS module.
Future OutlookI'm not nearly done yet. I'd like to clean up my configuration some more, verify that everything works as intended, and write documenation. When I'm done with all that, I will probably make some more adjustments so that this is not just Hyprdots but for Nix, but rather a mix of Hyprdots and my own preferences. Of those tools and configurations that I ultimately keep, I'd like to rewrite their config generation scripts. While I have kept them mostly as is for now, a lot of the work that happens in QuestionsFinally, I'd also like to use this opportunity to ask some questions, which I haven't yet achieved clarity on. I'm hoping you can provide your insight, @prasanthrangan:
|
Beta Was this translation helpful? Give feedback.
-
Headed here to see progress as I hadn't the time to port it myself and @Cu3PO42 has made something really good to think the project "statelessly" or idk how to name that, but it has become such hydra that I truly don't know how to handle it, worse, now it's semi-abandoned as it strongly derived and integrated own dotfiles to become something totally different. Though the theming project it had gave birth to is really promising, it has to find it's public now. @Ashe has (I think) not much changed since and is like a subset integrated into dotfiles without a clear way of what and how to take it to implement into self systems. So so far this theme still is a dream for me ahah |
Beta Was this translation helpful? Give feedback.
-
Has anyone tried simply modifying the file paths in all the scripts and configs that reference files that don't exist in NixOS (e.g. anything in |
Beta Was this translation helpful? Give feedback.
-
Hello let's assume we can fork and maintain this project with Home Manager( Will try to use it again in arch). Is this compatible with (lesser adjustments) for the whole nix OS? Also having it in HM, by theory we can install this easily in any distro including debian base,right?. |
Beta Was this translation helpful? Give feedback.
-
Can you use this in arco Linux? |
Beta Was this translation helpful? Give feedback.
-
Hello, I have just succeeded in making hyprdots work in nixos. Here's my flake if you are interested. |
Beta Was this translation helpful? Give feedback.
-
Guix here |
Beta Was this translation helpful? Give feedback.
-
I'm working on the home-manager nixos implementation here @ hyprdots-nix. currently supports being run as a vm for easier development decided to support both the standard @kRHYME7 's hyde-cli installation and home-manager as there's some caveats around the proper nix way to do things. hyde-cli method will be setup soon. for now @sandeng1440 has a good way. |
Beta Was this translation helpful? Give feedback.
-
I just recently discovered hyprland, and this excellent repository. Since I'm a novice in this area, a quick question: is it possible to use this repository on nixos?
Beta Was this translation helpful? Give feedback.
All reactions