{ 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"; home.stateVersion = "23.05"; # Let Home Manager install and manage itself. programs.home-manager.enable = true; home.packages = with pkgs; [ autossh azure-cli ansible sshpass (import ./packages/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 = configs/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; historyControl = ["ignorespace"]; shellOptions = [ "histappend" ]; sessionVariables = { DOCKER_HOST="tcp://192.168.1.223:2375"; NOMAD_ADDR="http://192.168.1.250:4646"; TERM="xterm-256color"; ANSIBLE_HOST_KEY_CHECKING="False"; HSTR_CONFIG="hicolor"; PROMPT_COMMAND="history -a;"; # ensure synchronization between bash memory and history file SSH_AUTH_SOCK="/home/sstent/.ssh/wsl-ssh-agent.sock"; }; bashrcExtra = '' 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 ssh-add -l export PATH=$PATH:/bin #Fix for wslpath ''; }; # zsh = { # enable = true; # shellAliases = { # ll = "ls -l"; # update = "sudo nixos-rebuild switch"; # }; # # history = { # # size = 10000; # # path = "${config.xdg.dataHome}/zsh/history"; # # }; # oh-my-zsh = { # enable = true; # plugins = [ "git" "thefuck" ]; # theme = "robbyrussell"; # }; # }; git = { enable = true; userName = "sstent"; userEmail = "stuart.stent@gmail.com"; }; ssh = { enable = true; matchBlocks = { "odroid*" = { user = "root"; }; }; }; }; systemd.user = lib.mkIf config.wsl.enable { startServices = true; services.ssh-proxy = lib.mkIf config.wsl.enable { Unit = { Description = "WSL Proxy"; }; Service = { ExecStart = "${pkgs.writeShellScript "start-proxy" '' set -x ${pkgs.coreutils}/bin/rm -f /home/sstent/.ssh/wsl-ssh-agent.sock ${pkgs.util-linux}/bin/setsid ${pkgs.socat}/bin/socat UNIX-LISTEN:/home/sstent/.ssh/wsl-ssh-agent.sock,fork EXEC:"${pkgs.npiperelay}/bin/npiperelay.exe -ei -s //./pipe/openssh-ssh-agent",nofork ''}"; }; #Install = { WantedBy = [ "default.target" ]; }; }; }; }; ### endf home-manager }; #######If Gnome # config = lib.mkIf config.mymods.gnome.enable { # programs.bash.enable = true; # programs.firefox.enable = true; # programs.gnome-terminal.enable = true; # programs.gnome-terminal.profile = { # "f2afd3c7-cb35-4d08-b6c2-523b444be64d" = { # visibleName = "Stu"; # showScrollbar = true; # default = true; # font = "DejaVu Sans Mono 12"; # colors = { # backgroundColor = "rgb(23,20,33)"; # foregroundColor = "rgb(208,207,204)"; # palette = [ # "#272224" # "#FF473D" # "#3DCCB2" # "#FF9600" # "#3B7ECB" # "#F74C6D" # "#00B5FC" # "#3E3E3E" # "#52494C" # "#FF6961" # "#85E6D4" # "#FFB347" # "#779ECB" # "#F7A8B8" # "#55CDFC" # "#EEEEEC" # ]; # }; # }; # }; # xdg.configFile."gnome-initial-setup-done".text = "yes"; # xdg.configFile."gtk-3.0/bookmarks".text = '' # file:///mnt/Public Public # ''; # dconf.settings = { # # ... # "org/gnome/shell" = { # favorite-apps = [ # "firefox.desktop" # "org.gnome.Terminal.desktop" # "org.gnome.Nautilus.desktop" # ]; # }; # "org/gnome/desktop/interface" = { color-scheme = "prefer-dark"; }; # }; # }; }