<tnks>
I'm trying to figure out the best way to run home-manager from my user configuration, but also have no dependence on `NIX_PATH` at all (no angle-bracket references). I think it's referencing both `<home-manager> `and `<nixpkgs>`. Is what I'm trying to do possible?
<tnks>
Really, I'm just trying my hardest to avoid `nix-channel`, which I've found myself trying hard to get off of.
<immae>
tnks: do you want to avoid nix channels or NIX_PATH ? They are both different things
<immae>
As far as I know you cannot avoid having something in your NIX_PATH, but nix channels could be avoided
<tnks>
immae: both really. Anything mutable. I want to check out a repository, that it pinned. And make that happen. With deterministic results. I'm okay if the home-runner instance that does this is of an arbitrarily older version (assuming reasonable backwards compatibility)
<immae>
ok, then I think you’d have to patch home-manager itself to obtain what you want
<tnks>
Yeah, I mean... people just use channels as a cheap way to populate NIX_PATH. So I get how one could not use channels. I think my real issue is with references to NIX_PATH.
<immae>
As far as I know there is no workaround to using NIX_PATH with both <home-manager> and <nixpkgs> populated
<immae>
(but it’s easily tweakabale, home-manager is just a bash script
<immae>
)
<immae>
or, much more simpler, you could wrap the home-manager derivation with a wrapper that sets NIX_PATH to predefined values (with wrapProgram nixpkgs helper)
<immae>
This way you still depend on NIX_PATH but not the "external" NIX_PATH, only a locally defined value
<immae>
but that means forcing everyone who uses your tool to install the wrapped home-manager instead of the default one
<tnks>
immae: yeah, but fortunately Nixpkgs has fixed-points with overlays, so I think that goal is achievable. Still, I doubt anything I need personally will need home-manager.
<tnks>
Another question. With home-manager run as a user (and not as part of my /etc/nixos configuration, can I still have home-manager manage user-level services?
<immae>
yes you can
<tnks>
hey, that's nice. I guess systemd is doing the work there.
<tnks>
I've never used user-level systemd services before.
<immae>
Well home-manager is putting symlinks at the right places, and then systemd comes into play yes
<immae>
to sum up ~/.config/systemd/user is the user equivalent of /etc/systemd/system
<immae>
so nothing very magical here
<tnks>
good to know!
<tnks>
Yeah, I never feel like I know all the interesting fiddly bits of systemd. I just end up looking it up as I go.
<tnks>
But I think this wrapper idea will keep me at parity with the level of determinism I'd prefer to have with Nix.
<immae>
ok :)
<tnks>
Though, I guess I'm still using nixos-rebuild in a way that's less than that. Maybe I can get to that later too.
<immae>
To make things reproductible I rely a lot on env files that I source to load the appropriate environment values
<immae>
Otherwise I agree with you that often you have unexpected side effects
cole-h has joined #home-manager
zmacs has joined #home-manager
Nickelfront has quit [Quit: Ping timeout (120 seconds)]
gkbfufdyhvhkuxh has quit [Read error: Connection reset by peer]
gkbfufdyhvhkuxh has joined #home-manager
gkbfufdyhvhkuxh has quit [Read error: Connection reset by peer]
gkbfufdyhvhkuxh has joined #home-manager
K0kada has quit [Ping timeout: 265 seconds]
aveltras has quit [Quit: Connection closed for inactivity]
K0kada has joined #home-manager
cole-h has joined #home-manager
SumnerEvans[m] has quit [Quit: Idle for 30+ days]
gkbfufdyhvhkuxh has quit [Ping timeout: 272 seconds]
gkbfufdyhvhkuxh has joined #home-manager
superherointj has joined #home-manager
gkbfufdyhvhkuxh has quit [Quit: Quit]
cole-h has quit [Ping timeout: 264 seconds]
kalbasit_ has joined #home-manager
kalbasit_ has quit [Ping timeout: 260 seconds]
rajivr has quit [Quit: Connection closed for inactivity]
warren1 has joined #home-manager
superherointj has quit [Quit: Leaving]
superherointj has joined #home-manager
<warren1>
dfasd
warren1 has quit [Client Quit]
superherointj has quit [Client Quit]
kalbasit_ has joined #home-manager
kalbasit_ has quit [Ping timeout: 256 seconds]
kalbasit_ has joined #home-manager
quinn has joined #home-manager
kalbasit_ has quit [Ping timeout: 246 seconds]
ryantrinkle has quit [Ping timeout: 240 seconds]
kalbasit_ has joined #home-manager
kalbasit__ has joined #home-manager
kalbasit_ has quit [Ping timeout: 264 seconds]
kalbasit__ has quit [Ping timeout: 240 seconds]
muchdebris has joined #home-manager
<muchdebris>
Hi. First time here. Is there a way to use a json formatted file/string with programs.vscode.userSettings? Currently I would like to do something like this "programs.vscode.userSettings = import ./path/to/a.json", but it appears this option expects me to turn my existing json file into a nix object.
<infinisil>
muchdebris: You can use `builtins.fromJSON (builtins.readFile ./path/to/a.json)`
<infinisil>
This turns it into a Nix value
<muchdebris>
Thanks. works like a charm.
<muchdebris>
I never know whether to look for this kind of basic stuff in nixpkgs or builtins
muchdebris has quit [Quit: Lost terminal]
eyJhb has quit [Quit: Clever message]
eyJhb has joined #home-manager
eyJhb has joined #home-manager
cole-h has joined #home-manager
itai has joined #home-manager
<nicolas[m]>
Good feature request though, the `programs.vscode.userSettings` option could accept a valid json.
<itai>
on the following config, i'm getting an error that my systemd session is degraded, and i have to manually start the mpd service. any ideas? https://pastebin.pl/view/3f4169ac