feat: user nixos

This commit is contained in:
Keisuke Hirata 2026-02-28 21:26:07 +09:00
parent 35623910b0
commit 18cba8e35f
14 changed files with 67 additions and 70 deletions

View File

@ -3,5 +3,5 @@
``` ```
sudo nixos-rebuild switch --flake .#<host> sudo nixos-rebuild switch --flake .#<host>
nix run .#home-manager -- switch --flake .#<host> nix run .#home-manager -- switch --flake .#<username>@<host>
``` ```

View File

@ -8,7 +8,8 @@ mkHost {
users = [ users = [
{ {
username = "hare"; username = "hare";
homeModule = [ ./hare ]; homeModule = [ ./hare/home-manager.nix ];
userNixos = ./hare/nixos.nix;
} }
]; ];
systemModules = [ ./nixos.nix ]; systemModules = [ ./nixos.nix ];

View File

@ -0,0 +1,14 @@
{ pkgs, ... }:
{
extraGroups = [
"adbusers"
"docker"
];
shell = pkgs.fish;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIfql/a6ZtxOPgBhFzOfgTO6HGcy0Se9mgMLmOa40vMF"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIW2Yrqwi4YjIrdI8mygX5pTHDPmrUgbmpZ4WxoTqORi keihi@Vostro-LapTop"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICi8Cciepfs1ikPdfyHjc9qJX5z2QLFF9jBszsyEvCMA nix-on-droid@localhost"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID8Eo/QDJtXqluvjNx5ZpeIt0c/yf/Mgr7dKhNWAICZX hare@x1carbon"
];
}

View File

@ -1,8 +1,4 @@
{ { pkgs, ... }:
pkgs,
username,
...
}:
let let
config.boot.kernelPackages = pkgs.linuxPackages_latest; config.boot.kernelPackages = pkgs.linuxPackages_latest;
in in
@ -55,19 +51,6 @@ in
]; ];
environment.sessionVariables.NIXOS_OZONE_WL = "1"; environment.sessionVariables.NIXOS_OZONE_WL = "1";
users.users.${username} = {
extraGroups = [
"adbusers"
"docker"
];
shell = pkgs.fish;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIfql/a6ZtxOPgBhFzOfgTO6HGcy0Se9mgMLmOa40vMF"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIW2Yrqwi4YjIrdI8mygX5pTHDPmrUgbmpZ4WxoTqORi keihi@Vostro-LapTop"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICi8Cciepfs1ikPdfyHjc9qJX5z2QLFF9jBszsyEvCMA nix-on-droid@localhost"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID8Eo/QDJtXqluvjNx5ZpeIt0c/yf/Mgr7dKhNWAICZX hare@x1carbon"
];
};
programs.nix-ld.enable = true; programs.nix-ld.enable = true;
services.openssh.enable = true; services.openssh.enable = true;
@ -122,5 +105,4 @@ in
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
boot.initrd.kernelModules = [ "amdgpu" ]; boot.initrd.kernelModules = [ "amdgpu" ];
} }

View File

@ -8,7 +8,8 @@ mkHost {
users = [ users = [
{ {
username = "hare"; username = "hare";
homeModule = [ ./hare ]; homeModule = [ ./hare/home-manager.nix ];
userNixos = ./hare/nixos.nix;
} }
]; ];
systemModules = [ ./nixos.nix ]; systemModules = [ ./nixos.nix ];

View File

@ -0,0 +1,11 @@
{ pkgs, ... }:
{
extraGroups = [
"docker"
];
shell = pkgs.fish;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBd45JtvgM44KUqhp3Xl2Wtt6rmxU13c/84YLyGKigkG hare@nixos"
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDZTkjrLwH+jsSHF/LI23+WPQ9rff9vWBH1VaxSjNADIIKDY7vGkWWRUCImt8QTzied3mNFv+EyZ8igiJdm5tEO1KkrWUqTZk5Ut79LTQftB23SDNC8XzuHKxwaKHdwZIP065biRFUqNYHu8h0EHKbQ3Djj6cZYBcEL1JOc0wtm4jmuW6Fp3rCn/ZCo0g3Kg7SfY4cpf4fJTB97bIjPJzG7JSSOuTkJcDQzFrySUPOpgrt5+iSqKJ/tQtfxLHcNq8AMrh1fH6sUzaJLmMs/7V9LTbsbILTY4YQj5FF07dBqEJBwvZ9sRTPPzl/HSdVmp9OlCZnryPbjTKJmK1Nxx+tOZfh4IY3mWWnEegvDNCYwKJu+d+zeqDaSUMx0kpAnK9PLSI0By8FtboRVvSFSce6FouiUhEzJyKXAr3E1JCgQXdLcTTb66rbBcauuqhuieKDGPpz45EbFi83uHNeDodi5b75h5r1Nn+oJmzagwUAoyw4gCCbiYwTAe3GA79LK7kE= hare@hr-r620"
];
}

View File

@ -1,9 +1,4 @@
{ { pkgs, ... }:
config,
pkgs,
username,
...
}:
{ {
system.stateVersion = "25.05"; system.stateVersion = "25.05";
@ -24,16 +19,6 @@
boot.loader.grub.useOSProber = true; boot.loader.grub.useOSProber = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
users.users.${username} = {
extraGroups = [
"docker"
];
shell = pkgs.fish;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBd45JtvgM44KUqhp3Xl2Wtt6rmxU13c/84YLyGKigkG hare@nixos"
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDZTkjrLwH+jsSHF/LI23+WPQ9rff9vWBH1VaxSjNADIIKDY7vGkWWRUCImt8QTzied3mNFv+EyZ8igiJdm5tEO1KkrWUqTZk5Ut79LTQftB23SDNC8XzuHKxwaKHdwZIP065biRFUqNYHu8h0EHKbQ3Djj6cZYBcEL1JOc0wtm4jmuW6Fp3rCn/ZCo0g3Kg7SfY4cpf4fJTB97bIjPJzG7JSSOuTkJcDQzFrySUPOpgrt5+iSqKJ/tQtfxLHcNq8AMrh1fH6sUzaJLmMs/7V9LTbsbILTY4YQj5FF07dBqEJBwvZ9sRTPPzl/HSdVmp9OlCZnryPbjTKJmK1Nxx+tOZfh4IY3mWWnEegvDNCYwKJu+d+zeqDaSUMx0kpAnK9PLSI0By8FtboRVvSFSce6FouiUhEzJyKXAr3E1JCgQXdLcTTb66rbBcauuqhuieKDGPpz45EbFi83uHNeDodi5b75h5r1Nn+oJmzagwUAoyw4gCCbiYwTAe3GA79LK7kE= hare@hr-r620"
];
};
programs.nix-ld.enable = true; programs.nix-ld.enable = true;
services.openssh.enable = true; services.openssh.enable = true;

View File

@ -13,25 +13,30 @@ let
in in
{ {
nixos = inputs.nixpkgs.lib.nixosSystem { nixos = inputs.nixpkgs.lib.nixosSystem {
modules = systemModules ++ [ modules =
{ systemModules
users.users = builtins.listToAttrs (map (u: { ++ (map (u: { pkgs, ... }: {
name = u.username; users.users.${u.username} = import u.userNixos { inherit pkgs; };
value = { }) (builtins.filter (u: u ? userNixos) users))
isNormalUser = true; ++ [
description = ""; {
extraGroups = [ users.users = builtins.listToAttrs (map (u: {
"networkmanager" name = u.username;
"wheel" value = {
]; isNormalUser = true;
}; description = "";
}) users); extraGroups = [
} "networkmanager"
]; "wheel"
];
};
}) users);
}
];
inherit system; inherit system;
specialArgs = { specialArgs = {
inherit inputs hostname; inherit inputs hostname;
username = (builtins.head users).username; users = map (u: u.username) users;
}; };
}; };
home-manager = builtins.listToAttrs (map (u: { home-manager = builtins.listToAttrs (map (u: {

View File

@ -8,7 +8,8 @@ mkHost {
users = [ users = [
{ {
username = "hare"; username = "hare";
homeModule = [ ./hare ]; homeModule = [ ./hare/home-manager.nix ];
userNixos = ./hare/nixos.nix;
} }
]; ];
systemModules = [ ./nixos.nix ]; systemModules = [ ./nixos.nix ];

View File

@ -0,0 +1,11 @@
{ pkgs, ... }:
{
extraGroups = [
"docker"
];
shell = pkgs.fish;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIfql/a6ZtxOPgBhFzOfgTO6HGcy0Se9mgMLmOa40vMF"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIW2Yrqwi4YjIrdI8mygX5pTHDPmrUgbmpZ4WxoTqORi keihi@Vostro-LapTop"
];
}

View File

@ -1,8 +1,4 @@
{ { pkgs, ... }:
pkgs,
username,
...
}:
let let
config.boot.kernelPackages = pkgs.linuxPackages_latest; config.boot.kernelPackages = pkgs.linuxPackages_latest;
in in
@ -36,16 +32,6 @@ in
]; ];
environment.sessionVariables.NIXOS_OZONE_WL = "1"; environment.sessionVariables.NIXOS_OZONE_WL = "1";
users.users.${username} = {
extraGroups = [
"docker"
];
shell = pkgs.fish;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIfql/a6ZtxOPgBhFzOfgTO6HGcy0Se9mgMLmOa40vMF"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIW2Yrqwi4YjIrdI8mygX5pTHDPmrUgbmpZ4WxoTqORi keihi@Vostro-LapTop"
];
};
programs.nix-ld.enable = true; programs.nix-ld.enable = true;
programs.light.enable = true; programs.light.enable = true;