Files
nixos-config/user/common.nix
T

77 lines
1.7 KiB
Nix
Raw Normal View History

2025-12-01 23:19:06 +03:00
{ config
, pkgs
, pkgs-stable
, pkgs-pinned
, lib
, inputs
, name
, fullname ? name
}: {
2025-02-02 14:57:36 +03:00
imports = [
inputs.home-manager.nixosModules.home-manager {
home-manager = {
2025-12-01 23:19:06 +03:00
useGlobalPkgs = true;
2025-02-02 14:57:36 +03:00
useUserPackages = true;
2025-02-08 18:38:55 +03:00
backupFileExtension = "rebuild";
2025-10-31 13:40:32 +03:00
overwriteBackup = true;
2025-02-08 18:38:55 +03:00
2025-02-02 14:57:36 +03:00
users.${name} = {
imports = [
inputs.sops-nix.homeManagerModules.sops
2025-11-23 16:35:18 +03:00
inputs.stylix.homeModules.stylix
2025-02-02 14:57:36 +03:00
../modules/user.nix
./${name}/modules/git.nix
./${name}/modules/style.nix
2026-03-17 22:48:42 +03:00
./${name}/modules/waybar.nix
2025-02-02 14:57:36 +03:00
./${name}/home.nix
];
home = {
username = name;
homeDirectory = "/home/${name}";
stateVersion = "23.11";
};
};
2025-05-05 14:58:11 +03:00
2025-02-02 14:57:36 +03:00
extraSpecialArgs = {
inherit inputs;
2025-12-01 23:19:06 +03:00
inherit pkgs-stable;
inherit pkgs-pinned;
username = name;
2025-02-02 14:57:36 +03:00
};
};
}
];
programs.zsh.enable = true;
users = {
defaultUserShell = pkgs.zsh;
users."${name}" = {
isNormalUser = true;
description = fullname;
extraGroups = [ "networkmanager" "wheel" "input" "libvirtd" ];
};
};
services.greetd = let
2025-12-01 23:19:06 +03:00
tuigreet = lib.getExe pkgs.tuigreet;
2026-03-21 03:38:05 +03:00
session = lib.getExe' inputs.hyprland.packages.${pkgs.system}.default "start-hyprland";
2025-02-02 14:57:36 +03:00
in {
enable = true;
settings = {
initial_session = {
command = "${session}";
user = "${name}";
};
default_session = {
command = "${tuigreet} --greeting 'Welcome to NixOS!' --asterisks --remember --remember-user-session --time -cmd ${session}";
user = "greeter";
};
};
};
nix.settings.trusted-users = [ name ];
}