diff --git a/configuration.nix b/configuration.nix index b1ed28c..6f1069f 100644 --- a/configuration.nix +++ b/configuration.nix @@ -43,12 +43,6 @@ virtualisation.docker.enable = true; - programs.starship.enable = true; - programs.neovim = { - enable = true; - viAlias = true; - }; - # Some programs need SUID wrappers, can be configured further or are # started in user sessions. # programs.mtr.enable = true; diff --git a/users.nix b/users.nix index 024f371..895839a 100644 --- a/users.nix +++ b/users.nix @@ -4,30 +4,54 @@ let in { imports = [ + (import "${home-manager}/nixos") ]; users.users = let - server_user = - name: passwd: { + user = + { manager ? false, name, passwd }: { isNormalUser = true; home = "/server/current/${name}"; - extraGroups = [ "current" ]; - shell = pkgs.bash; - password = passwd; - }; - server_manager = - name: passwd: { - isNormalUser = true; - home = "/server/current/${name}"; - extraGroups = [ "current" "docker" "wheel" ]; + extraGroups = [ "current" ] ++ + (if manager then ["docker" "wheel"] else []); shell = pkgs.bash; password = passwd; }; in { - owner = server_manager "junikim" "1234"; - a = server_user "a" "1234"; - b = server_user "b" "1234"; + junikim = user { name = "junikim"; passwd = "1234"; }; + a = user { name = "a"; passwd = "1234"; }; + b = user { name = "b"; passwd = "1234"; }; + }; + + home-manager.users = + let + user = name: { + home = { + username = name; + homeDirectory = "/server/current/${name}"; + }; + programs = { + neovim = { + enable = true; + plugins = with pkgs.vimPlugins; [ + coc-nvim + neovim-sensible + vim-airline + vim-airline-themes + vim-nix + ]; + }; + git = { + enable = true; + }; + programs.starship.enable = true; + }; + }; + in { + junikim = user "junikim"; + a = user "a"; + b = user "b"; }; }