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>
nix run .#home-manager -- switch --flake .#<host>
nix run .#home-manager -- switch --flake .#<username>@<host>
```

View File

@ -8,7 +8,8 @@ mkHost {
users = [
{
username = "hare";
homeModule = [ ./hare ];
homeModule = [ ./hare/home-manager.nix ];
userNixos = ./hare/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,
username,
...
}:
{ pkgs, ... }:
let
config.boot.kernelPackages = pkgs.linuxPackages_latest;
in
@ -55,19 +51,6 @@ in
];
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;
services.openssh.enable = true;
@ -122,5 +105,4 @@ in
boot.loader.efi.canTouchEfiVariables = true;
boot.initrd.kernelModules = [ "amdgpu" ];
}

View File

@ -8,7 +8,8 @@ mkHost {
users = [
{
username = "hare";
homeModule = [ ./hare ];
homeModule = [ ./hare/home-manager.nix ];
userNixos = ./hare/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 @@
{
config,
pkgs,
username,
...
}:
{ pkgs, ... }:
{
system.stateVersion = "25.05";
@ -24,16 +19,6 @@
boot.loader.grub.useOSProber = 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;
services.openssh.enable = true;

View File

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

View File

@ -8,7 +8,8 @@ mkHost {
users = [
{
username = "hare";
homeModule = [ ./hare ];
homeModule = [ ./hare/home-manager.nix ];
userNixos = ./hare/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,
username,
...
}:
{ pkgs, ... }:
let
config.boot.kernelPackages = pkgs.linuxPackages_latest;
in
@ -36,16 +32,6 @@ in
];
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.light.enable = true;