<pumpy>
does homemanager not have i3blocks support?
<pumpy>
in my home.nix i have a bunch of programs.x.enable but i dont see programs.i3blocks.enable. https://rycee.gitlab.io/home-manager/options.html doesn't mention i3blocks so duno how to config it
<NobbZ[m]>
Though it doesn't have i3blocks as well.
<NobbZ[m]>
You'll need to implement it on your own.
<pumpy>
ty
<pumpy>
NobbZ[m]++
<{^_^}>
NobbZ[m]'s karma got increased to 0o5
<pumpy>
how do i tell i3 to use i3blocks?
<NobbZ[m]>
I have no clue. I'm not using i3, therefore I neither know how you would do it in a regular i3, nor how you do it when its managed through HM.
<pumpy>
when i put home.packages = [i3blocks]; in home.nix it errors "error: undefined variable 'i3blocks' at ..." but why?
<NobbZ[m]>
Probably because its not defined.
<pumpy>
how can i install it?
<NobbZ[m]>
As installing alone isn't enough, but you also need to make i3 aware of it, like mentioned above
<NobbZ[m]>
No need for `home.packages`
<NobbZ[m]>
And unless you have pulled `i3blocks` into scope otherwise, you need to use `pkgs.i3blocks`, assuming that you at least have `pkgs` in the modules argument set.
<pumpy>
ill try xsession.windowManager.i3.config.bars = [{ statusCommand = "${i3blocks}/bin/i3blocks"; }]; but first i need to install i3blocks no?
<pumpy>
oh hm
<NobbZ[m]>
`home.packages` is only meant for packages you want to install for your user, such that you can run them from your GUIs menu or a terminal. You probably do not want to run `i3blocks` on your own, but keep it "isolated" to i3.
<pumpy>
home.packages = [pkgs.i3blocks];?
<piegames1>
pumpy: In Nix, the concept of "installing software" is a bit fuzzy
<NobbZ[m]>
As I said, there is really no need for `home.packages`
<NobbZ[m]>
Its not
<pumpy>
ya im struggling a bit. i have systemwide figured out, now trying to get user isolated figured out
<piegames1>
pumpy, if you do that, you could probably write it as `statusCommand = "i3blocks";`
romanofski has joined #home-manager
<NobbZ[m]>
Probably, though thats not the nix way :D
<pumpy>
NobbZ[m] oh sorry i missed that. so i don't use home.packages but what do i use to do the install? and keep it isolated to i3 like you say
<pumpy>
ya i wanna learn nix way
<pumpy>
i read all the docs and almost got a full setup done
<piegames1>
But instead of "installing" it (as in putting it on your PATH), you can also reference the package's output path: `${pkgs.myPackage}/bin/binName`. Nix will "install" myPackage for you by simply put it into the Nix store and you can use that absolute path to use that binary
<NobbZ[m]>
As you refer to the path, it will be pulled/built. and as it is refered by your active environment, it wont be deleted. So yes, it is "installed" within the sub environment accessible to i3
<pumpy>
cool!
<piegames1>
pumpy: The thing you need to know about `home.packages` is that it simply takes all the files of all the packages and symlinks them together into a folder. This is convenient for a user perspective (as you can simply put that folder to your PATH and run all software that's in it). But if besaid software is a library or something only other software interacts with it, you don't need this. You
<piegames1>
can simply reference other applications in the Nix store and it's fine. It's more "the Nix way" because a) you can't do that on other distros and b) it de-clutters you environment
<pumpy>
ill try to not use home.packages then
<NobbZ[m]>
Its not that it were bad to use it.
<NobbZ[m]>
It is just, that it doesn't always make sense
<pumpy>
pls example when it good to use?
<piegames1>
pumpy: When you want to use it yourself. As user.
<piegames1>
Think of it like this: you install all the software you want to your PATH using `home.packages`. But all their transitive dependencies are not (unlike in other distros).
<pumpy>
oh you're saying i wouldn't wanna run i3blocks directly!