mirror of
https://github.com/kaesaecracker/nixos-configuration.git
synced 2025-01-18 18:40:14 +01:00
better split of home manager specific stuff
This commit is contained in:
parent
9b60bc1988
commit
44bbfc2fa0
|
@ -19,55 +19,6 @@ in {
|
||||||
./ronja.nix
|
./ronja.nix
|
||||||
]
|
]
|
||||||
++ lib.optionals enableHomeManager [
|
++ lib.optionals enableHomeManager [
|
||||||
<home-manager/nixos>
|
./home-manager.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
config = lib.mkIf enableHomeManager {
|
|
||||||
home-manager = {
|
|
||||||
useUserPackages = true;
|
|
||||||
useGlobalPkgs = true;
|
|
||||||
sharedModules = [
|
|
||||||
# set stateVersion
|
|
||||||
{home.stateVersion = "22.11";}
|
|
||||||
# make nano the default editor
|
|
||||||
{
|
|
||||||
home = {
|
|
||||||
sessionVariables.EDITOR = "nano";
|
|
||||||
file.".nanorc".text = lib.mkDefault ''
|
|
||||||
set linenumbers
|
|
||||||
set mouse
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
# command line niceness
|
|
||||||
{
|
|
||||||
programs = {
|
|
||||||
command-not-found.enable = true;
|
|
||||||
dircolors.enable = true;
|
|
||||||
|
|
||||||
zsh = {
|
|
||||||
enable = true;
|
|
||||||
enableSyntaxHighlighting = true;
|
|
||||||
enableAutosuggestions = true;
|
|
||||||
enableVteIntegration = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
# common git config
|
|
||||||
{
|
|
||||||
programs = {
|
|
||||||
git = {
|
|
||||||
enable = true;
|
|
||||||
extraConfig.init.defaultBranch = "main";
|
|
||||||
};
|
|
||||||
|
|
||||||
gh = {
|
|
||||||
enable = true;
|
|
||||||
enableGitCredentialHelper = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
65
modules/users/home-manager.nix
Normal file
65
modules/users/home-manager.nix
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
<home-manager/nixos>
|
||||||
|
];
|
||||||
|
|
||||||
|
config = {
|
||||||
|
home-manager = {
|
||||||
|
useUserPackages = true;
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
|
||||||
|
users = {
|
||||||
|
ronja = lib.mkIf (builtins.elem "ronja" config.my.enabledUsers) (import ./ronja-home.nix);
|
||||||
|
vinzenz = lib.mkIf (builtins.elem "ronja" config.my.enabledUsers) (import ./vinzenz-home.nix);
|
||||||
|
};
|
||||||
|
|
||||||
|
sharedModules = [
|
||||||
|
# set stateVersion
|
||||||
|
{home.stateVersion = "22.11";}
|
||||||
|
# make nano the default editor
|
||||||
|
{
|
||||||
|
home = {
|
||||||
|
sessionVariables.EDITOR = "nano";
|
||||||
|
file.".nanorc".text = lib.mkDefault ''
|
||||||
|
set linenumbers
|
||||||
|
set mouse
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
|
# command line niceness
|
||||||
|
{
|
||||||
|
programs = {
|
||||||
|
command-not-found.enable = true;
|
||||||
|
dircolors.enable = true;
|
||||||
|
|
||||||
|
zsh = {
|
||||||
|
enable = true;
|
||||||
|
enableSyntaxHighlighting = true;
|
||||||
|
enableAutosuggestions = true;
|
||||||
|
enableVteIntegration = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
# common git config
|
||||||
|
{
|
||||||
|
programs = {
|
||||||
|
git = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig.init.defaultBranch = "main";
|
||||||
|
};
|
||||||
|
|
||||||
|
gh = {
|
||||||
|
enable = true;
|
||||||
|
enableGitCredentialHelper = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -6,20 +6,15 @@
|
||||||
}: let
|
}: let
|
||||||
isUserEnabled = builtins.elem "ronja" config.my.enabledUsers;
|
isUserEnabled = builtins.elem "ronja" config.my.enabledUsers;
|
||||||
in {
|
in {
|
||||||
config = lib.mkMerge [
|
config = lib.mkIf isUserEnabled {
|
||||||
(lib.mkIf isUserEnabled {
|
# Define user account
|
||||||
# Define user account
|
users.users.ronja = {
|
||||||
users.users.ronja = {
|
isNormalUser = true;
|
||||||
isNormalUser = true;
|
name = "ronja";
|
||||||
name = "ronja";
|
description = "Ronja Spiegelberg";
|
||||||
description = "Ronja Spiegelberg";
|
home = "/home/ronja";
|
||||||
home = "/home/ronja";
|
extraGroups = ["networkmanager" "wheel" "games"];
|
||||||
extraGroups = ["networkmanager" "wheel" "games"];
|
shell = pkgs.zsh;
|
||||||
shell = pkgs.zsh;
|
};
|
||||||
};
|
};
|
||||||
})
|
|
||||||
(lib.mkIf (isUserEnabled && config.my.modulesCfg.enableHomeManager) {
|
|
||||||
home-manager.users.ronja = import ./ronja-home.nix;
|
|
||||||
})
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,19 +6,14 @@
|
||||||
}: let
|
}: let
|
||||||
isUserEnabled = builtins.elem "vinzenz" config.my.enabledUsers;
|
isUserEnabled = builtins.elem "vinzenz" config.my.enabledUsers;
|
||||||
in {
|
in {
|
||||||
config = lib.mkMerge [
|
config = lib.mkIf isUserEnabled {
|
||||||
(lib.mkIf isUserEnabled {
|
users.users.vinzenz = {
|
||||||
users.users.vinzenz = {
|
isNormalUser = true;
|
||||||
isNormalUser = true;
|
name = "vinzenz";
|
||||||
name = "vinzenz";
|
description = "Vinzenz Schroeter";
|
||||||
description = "Vinzenz Schroeter";
|
home = "/home/vinzenz";
|
||||||
home = "/home/vinzenz";
|
extraGroups = ["networkmanager" "wheel" "games"];
|
||||||
extraGroups = ["networkmanager" "wheel" "games"];
|
shell = pkgs.zsh;
|
||||||
shell = pkgs.zsh;
|
};
|
||||||
};
|
};
|
||||||
})
|
|
||||||
(lib.mkIf (isUserEnabled && config.my.modulesCfg.enableHomeManager) {
|
|
||||||
home-manager.users.vinzenz = import ./vinzenz-home.nix;
|
|
||||||
})
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue