end-4 / dots-hyprland

i hate minimalism so...
https://end-4.github.io/dots-hyprland-wiki/en/
GNU General Public License v3.0
4.4k stars 303 forks source link

illogical-impulse on NixOS #238

Open RipDr19 opened 9 months ago

RipDr19 commented 9 months ago

How can I clone the config and local folder of this repo directly to just get the dots which I can then manually paste to my .config folder?

end-4 commented 9 months ago

NixOS with my dotfiles? You're not alone! (Note: I'm in the process of figuring out NixOS too, so I'm not entirely sure.)

  1. Clone then git checkout illogical-impulse
  2. See the command that checks for existence of pacman in install.sh at line 8? Just comment that out with a # then run the script. Skip package installation stuff (for now you have to do that manually in your nix config) and say yes when prompted to copy files.
  3. Beware of conflicts with home-manager and you should be fine
clsty commented 9 months ago

That's interesting, I thought NixOS has a total different way dealing with configs... seems like it's actually alike normal Linux distros at least for ~/.config.

In that case, maybe it's not difficult to have a try on NixOS for me. And if it can be done, I'll try to implement a install script for NixOS some other time.

RipDr19 commented 9 months ago

Well it does handles differently too, if you are planning to use flakes or home managers (basically trying to automate it) but otherwise the fallback method still exists

end-4 commented 9 months ago

It's going to be different if you use home-manager. What it does is generate contents in home folder based on configurations in Nix format.

Btw I can't figure out how to make GtkSourceView work (which is required for left sidebar) :sob:

RipDr19 commented 9 months ago

And here I am all done and up just I can't seem to understand how to install ags in nix

end-4 commented 9 months ago

And here I am all done and up just I can't seem to understand how to install ags in nix

flake.nix inputs:

ags.url = "github:Aylur/ags";

then you can source a file like this to home.nix https://github.com/end-4/CirnOS/blob/main/home-manager/ags.nix

clsty commented 9 months ago

Will be better if the git checkout (commit hash) of ags repo could be specified.

end-4 commented 9 months ago

there must be a way... that's why i tried to use nixos in the first place using ref in inputs of flake.nix i think

RipDr19 commented 9 months ago

I still can't understand flakes at all, I will shift back to arch for now, do you think this setup can work on void linux though?

end-4 commented 9 months ago

try it and see

RipDr19 commented 9 months ago

I tried from the ags wiki and it returned that flake path is not set with a bunch of other things

solitudealma commented 6 months ago

I tried from the ags wiki and it returned that flake path is not set with a bunch of other things

i think you should find a config for nixos that looks good structure. like: zaneyos. and then, you can change it to what you like

celesrenata commented 5 months ago

I had a stab at it a few months back, I'm going through and updating for 24.05 this weekend.

Added a feature to adjust foot transparency on the fly from the effects menu. :)

https://github.com/celesrenata/nix-flakes

Makrennel commented 3 months ago

I've gone ahead and taken a stab at making a home manager module and flake for this with a config to allow users to exclude certain files from being sourced in the config so they can be sourced by the user manually if modifications are necessary.

It's probably not a very nix-like way to do things, but I've tried to keep it such that it sticks to the config files in this repository rather than rewriting everything in nix, and it can just be added like any other flake input rather than having to be installed like a whole new system configuration.

That said, I haven't implemented the installation of any required packages yet besides the pinned ags revision, that'll be the next step.

I may also have to figure out some things to allow the auto-generation components to work properly – or maybe use some kind of config to force declarative generation rather than imperative.

Makrennel commented 3 months ago

That said, I haven't implemented the installation of any required packages yet besides the pinned ags revision, that'll be the next step.

So I've managed to get it running such that it will, upon being enabled, install the correct packages and Hyprland can be started. There seems to be an issue with getting ags to work though. I not really sure what's causing it, and ags is capable of displaying a default config, but not the one provided in illogical-impulse.

Here is the log from when running ags up to killing it with ags -q

/nix/store/4arj1mz42giyrpqxiir1nvllj1hg708n-gvfs-1.54.2/lib/gvfs/libgvfscommon.so: undefined symbol: g_once_init_leave_pointer
Failed to load module: /nix/store/4arj1mz42giyrpqxiir1nvllj1hg708n-gvfs-1.54.2/lib/gio/modules/libgvfsdbus.so

(com.github.Aylur.ags:8744): Gjs-WARNING **: 01:17:57.454: JS ERROR: SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data @ file:///home/alice/Local/etc/ags/modules/cheatsheet/keybinds.js:21:17
No /dev/i2c devices exist.
ddcutil requires module i2c-dev.

(com.github.Aylur.ags:8744): Gjs-CRITICAL **: 01:26:57.284: Attempting to call back into JSAPI during the sweeping phase of GC. This is most likely caused by not destroying a Clutter actor or Gtk+ widget with ::destroy signals connected, but can also be caused by using the destroy(), dispose(), or remove() vfuncs. Because it would crash the application, it has been blocked and the JS callback not invoked.
The offending signal was destroy on Ags_Stack 0x10f0510.
== Stack trace for context 0x7b4c80 ==

(com.github.Aylur.ags:8744): Gjs-CRITICAL **: 01:26:57.284: Attempting to call back into JSAPI during the sweeping phase of GC. This is most likely caused by not destroying a Clutter actor or Gtk+ widget with ::destroy signals connected, but can also be caused by using the destroy(), dispose(), or remove() vfuncs. Because it would crash the application, it has been blocked and the JS callback not invoked.
The offending signal was destroy on Ags_Stack 0x10f0510.
== Stack trace for context 0x7b4c80 ==

(com.github.Aylur.ags:8744): Gjs-CRITICAL **: 01:26:57.284: Attempting to call back into JSAPI during the sweeping phase of GC. This is most likely caused by not destroying a Clutter actor or Gtk+ widget with ::destroy signals connected, but can also be caused by using the destroy(), dispose(), or remove() vfuncs. Because it would crash the application, it has been blocked and the JS callback not invoked.
The offending signal was destroy on Ags_Label 0x10e3e50.
== Stack trace for context 0x7b4c80 ==

(com.github.Aylur.ags:8744): Gjs-CRITICAL **: 01:26:57.284: Attempting to call back into JSAPI during the sweeping phase of GC. This is most likely caused by not destroying a Clutter actor or Gtk+ widget with ::destroy signals connected, but can also be caused by using the destroy(), dispose(), or remove() vfuncs. Because it would crash the application, it has been blocked and the JS callback not invoked.
The offending signal was destroy on Ags_Label 0x10ef5e0.
== Stack trace for context 0x7b4c80 ==

The CRITICAL part of the log only prints when ags is killed. From this maybe it's a problem with gvfs? I'm not really sure.