Files
vmimages/modules/user.nix
2023-02-19 14:10:02 -05:00

119 lines
3.5 KiB
Nix

{ lib, config, pkgs, ... }: {
options.mymods.user_sstent.enable = lib.mkEnableOption "Create sstent user";
config = lib.mkIf config.mymods.user_sstent.enable {
users.users = {
sstent = {
initialPassword = "farscape5";
isNormalUser = true;
openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+D4o3mL4BQsRr0UIhB1hn0brSTIJ9Lr0m2fMMVGF3tIuEihnmwGTeAX78q5/bmoo4gZy7G+CHal54S1lY8LY1KvmIDCpPJ8848HvLbTiTX3qZ7Mjaav+Ox9eHMwX+7zkPwdhfP8TDvmNe12j1GEKBhAm+FhdBQCbEV7cbm1SkX0+WBGoVvI2qbRm1RF0mOuTAmO3Lr2YeAcKJ21YxwNMv1Qrj7oxGYH9rLHLNwZ/0soIdTC9cikl4DHyvCs4HRYcVw36uuCVc/AyIT2GeETRapAQr8nzT89Haa1IThgZ9ztjSsSSOtrUhxatlMIfTIpVjl/gWq7GLfqd/ei/evTal sstent@StuPC"
];
extraGroups = [ "wheel" "video" ];
};
};
security.sudo.wheelNeedsPassword = false;
home-manager.users."sstent" = {
home.username = "sstent";
home.homeDirectory = "/home/sstent";
#targets.genericLinux.enable = true;
# 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.
home.stateVersion = "22.05";
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
home.packages = with pkgs; [
autossh
azure-cli
ansible
sshpass
(import ./python-packages.nix { pkgs = pkgs; })
pyinfra
sshpass
nmap
nomad_1_4
consul
terraform
wget
curl
socat
p7zip
#git-run
mr
perl
# beets
qemu_kvm
nixos-generators
nixfmt
deploy-rs
];
services.keybase.enable = true;
services.kbfs.enable = true;
home.file.".mrconfig".source = ./mrconfig;
# xdg.configFile."beets/config.yaml".source = ./beets_config.yaml;
programs = {
dircolors.enable = true;
go.enable = true;
gpg.enable = true;
htop.enable = true;
jq.enable = true;
less.enable = true;
man.enable = true;
nix-index.enable = true;
yt-dlp.enable = true;
bash = {
enable = true;
bashrcExtra = ''
export DOCKER_HOST="tcp://192.168.1.223:2375";
export NOMAD_ADDR="http://192.168.1.250:4646";
export TERM="xterm-256color";
export ANSIBLE_HOST_KEY_CHECKING=False
export HSTR_CONFIG=hicolor # get more colors
shopt -s histappend # append new history items to .bash_history
export HISTCONTROL=ignorespace # leading space hides commands from history
# ensure synchronization between bash memory and history file
export PROMPT_COMMAND="history -a;"
if [ -e /home/sstent/.nix-profile/etc/profile.d/nix.sh ]; then . /home/sstent/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer
#keybase service &
# Configure ssh forwarding
. ~/bin/wsl-ssh-agent-forwarder
ssh-add -l
'';
};
git = {
enable = true;
userName = "sstent";
userEmail = "stuart.stent@gmail.com";
};
ssh = {
enable = true;
matchBlocks = {
"odroid*" = {
user = "root";
};
};
};
};
imports = [
./beets.nix
]; };
};
}