mirror of
https://github.com/sstent/vmimages.git
synced 2025-12-06 06:01:51 +00:00
198 lines
5.3 KiB
Nix
198 lines
5.3 KiB
Nix
{ lib, config, pkgs, ... }: {
|
|
|
|
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;
|
|
programs.home-manager.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" ]; };
|
|
};
|
|
};
|
|
|
|
# homeage = {
|
|
# # Absolute path to identity (created not through home-manager)
|
|
# identityPaths = [ "~/.ssh/id_ed25519" ];
|
|
|
|
# # "activation" if system doesn't support systemd
|
|
# installationType = "systemd";
|
|
|
|
# file."pijulsecretkey" = {
|
|
# # Path to encrypted file tracked by the git repository
|
|
# source = ./secretkey.json.age;
|
|
# symlinks = [ "${config.xdg.configHome}/pijul/secretkey.json" ];
|
|
# copies = [ "${config.xdg.configHome}/no-symlink-support/secretkey.json" ];
|
|
# };
|
|
# };
|
|
|
|
# imports = [ homeage.homeManagerModules.homeage ];
|
|
|
|
|
|
|
|
|
|
}; ### 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"; };
|
|
|
|
# };
|
|
# };
|
|
}
|