-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ERROR system_manager] We need root permissions. #98
Comments
please clean up formatting of your messages it is too difficult to read as you have posted |
Yeah so system-manager needs root permissions, as the error says. This is normal, since it will be managing system-level config, which is all owned by root. Did you try running it with sudo for instance? |
Yeah I'd try with: It returns |
sounds like an Ubuntu issue: https://unix.stackexchange.com/questions/83191/how-to-make-sudo-preserve-path |
Im gonna be trying with this instead then: Thats what i got after running Lets see |
This seems to also have to do with your One way to get around this, would be to launch a root shell, and then get a nix shell with everything that nix and system-manager need:
But I also think that something is quite broken in your system's setup, I don't think that this is how |
Just to double check: does (If that's not the case, it might be worth adding to the README.md that it only supports multi-user installations.) @andreyadrian Can you confirm that is (was?) the case (i.e. that you installed it as a single-user installation)? |
@jlbribeiro I didn't test this explicitly, but if your nix single-user installation is set up correctly, this should work. Nix knows how to write outputs into the store with the correct permissions. The daemon also runs as root, so it's essentially the same. |
@r-vdp As I might be missing something, please bear with me. $ sudo nix
sudo: nix: command not found has to do with the fact that From there, I'm guessing the only So, as far as I can tell, we're left with passing the $ nix-shell
error: no argument specified and no 'shell.nix' or 'default.nix' file found in the working directory
$ sudo env "PATH=$PATH" nix-shell
warning: the group 'nixbld' specified in 'build-users-group' does not exist
error: no argument specified and no 'shell.nix' or 'default.nix' file found in the working directory So,
might be true, but Nix does behave differently and has different assumptions about the setup depending on the user; I'm guessing that's because it no longer relies on (and to provide additional context: I use NixOS in all my machines except two: a multi-user non-NixOS Linux installation, and this one - my work's laptop, where the single-user installation is recommended due to security reasons, namely SELinux) While I understand single-user installations are unusual (probably not recommended for most use cases, even), I want to make sure whether Please let me know if I'm missing something, or something else I didn't try. (btw: thank you for this project! found out about it because of wanting to try soupglasses/nix-system-graphics, and it feels like the missing " |
I have a similar sentiment to @jlbribeiro! I install my Nix like this: https://github.com/cognivore/icfpc-compute/blob/main/installer.sh#L36 And yet, after I switch with system-manager, it puts root-owned stuff into /nix. |
Yeah, I'd need to set up a VM with a single user install to further debug this. I think things can probably be configured in a way to get everything to work, but I haven't tried it before and so I'm not entirely sure. If using s-m with single user mode breaks your nix setup, then I agree we should add a warning. |
Yes, I also think that it's possible to make it work with chgrp magic, but to be clear for anyone who reads my misguided message from above: I realised that I was wrong to think that I had a m-u install! I have reinstalled Nix in m-u using the installer I linked above and everything works like a charm. |
A) Describe the bug
Im following the installaton guide, I have added it to my flake, and added the default.nix.
And then running it with the command shown:
nix run 'github:numtide/system-manager' -- switch --flake '.'
But I get
haerin@orangepizero3:~/.config/home-manager$ nix run 'github:numtide/system-manager' -- switch --flake '.' warning: input 'rust-overlay' has an override for a non-existent input 'flake-utils' [2024-06-26T18:43:36Z INFO system_manager::register] Trying flake URI: .#systemConfigs.orangepizero3... warning: Git tree '/home/haerin/.config/home-manager' is dirty [2024-06-26T18:43:37Z INFO system_manager::register] Attribute .#systemConfigs.orangepizero3 not found in flake. [2024-06-26T18:43:37Z INFO system_manager::register] Trying flake URI: .#systemConfigs.default... warning: Git tree '/home/haerin/.config/home-manager' is dirty [2024-06-26T18:43:37Z INFO system_manager::register] Success, using .#systemConfigs.default [2024-06-26T18:43:37Z INFO system_manager::register] Building new system-manager generation... [2024-06-26T18:43:37Z INFO system_manager::register] Running nix build... warning: Git tree '/home/haerin/.config/home-manager' is dirty [2024-06-26T18:43:37Z INFO system_manager::register] Built system-manager profile /nix/store/npin69q4riknxihbk060a9960p0py3jx-system-manager [2024-06-26T18:43:37Z ERROR system_manager] We need root permissions.
What stands to me its the last bit
ERROR system_manager] We need root permissions.
B) To Reproduce
Steps to reproduce the behavior:
`{
description = "Home Manager configuration of haerin";
inputs = {
# Specify the source of Home Manager and Nixpkgs.
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
};
outputs = { nixpkgs, home-manager, nvchad-config, system-manager,... }:
let
system = "aarch64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in {
}
`
`{ config, lib, pkgs, ... }:
{
config = {
system-manager.allowAnyDistro = true;
nixpkgs.hostPlatform = "aarch64-linux";
};
}
`
C) Expected behavior
To run with no errors, and let me use system-manager to manage services like docker.
D) System information
OS: Armbian (24.8.0-trunk.36) aarch64
####### Host: OrangePi Zero3
########### Kernel: 6.6.31-current-sunxi64
E) Additional context
I do have root access but trying
sudo nix run 'github:numtide/system-manager' -- switch --flake '.'
wont work
haerin@orangepizero3:~/.config/home-manager$ sudo nix run 'github:numtide/system-manager' -- switch --flake '.' sudo: nix: command not found
The text was updated successfully, but these errors were encountered: