48 lines
1.8 KiB
Nix
48 lines
1.8 KiB
Nix
{pkgs, lib, config, ... }: {
|
|
|
|
#Create new nixos options
|
|
options = {
|
|
speccon18.enable = lib.mkEnableOption "enables the speccon18 administrator user";
|
|
speccon18.home_manager.enable = lib.mkEnableOption "enables home-manager support for the speccon18 administrator user";
|
|
};
|
|
|
|
#Declare already defined nixos options and enable if the above mkEnable options parameter is ture
|
|
config = lib.mkIf config.speccon18.enable {
|
|
programs.zsh.enable = true;
|
|
users.users.speccon18 = {
|
|
shell = pkgs.zsh;
|
|
isNormalUser = true;
|
|
initialHashedPassword = "$y$j9T$RdLBHOvUpb17egl0d16LT/$3Y2RD/tT1IZ0nkfAR13pp3IzBjvKLRgGpDPLobUeO23";
|
|
openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIrZpH5QV62dtTb2yx5I3PF2lJyNpPkV57pDlo6xawID" ];
|
|
description = "Steven Carpenter";
|
|
extraGroups = [ "wheel" ];
|
|
};
|
|
home = lib.mkIf config.speccon18.home_manager.enable {
|
|
username = "speccon18";
|
|
homeDirectory = "/home/speccon18";
|
|
|
|
# This value determines the Home Manager release that your
|
|
# configuration is compatible with. This helps avoid breakage
|
|
# when a new Home Manager release introduces backwards
|
|
# incompatible changes.
|
|
#
|
|
# You can update Home Manager without changing this value. See
|
|
# the Home Manager release notes for a list of state version
|
|
# changes in each release.
|
|
stateVersion = "22.11";
|
|
packages = with pkgs; [
|
|
freecad
|
|
calibre
|
|
bitwarden
|
|
firefox
|
|
discord
|
|
gimp
|
|
obsidian
|
|
neofetch
|
|
vlc
|
|
remmina
|
|
];
|
|
|
|
};
|
|
};
|
|
}
|