os/users/teutat3s/home.nix

139 lines
4.2 KiB
Nix

{
config,
home-manager,
flake,
lib,
pkgs,
...
}:
let
psCfg = config.pub-solar;
xdg = config.home-manager.users."${psCfg.user.name}".xdg;
tritonshell = flake.inputs.tritonshell;
in {
imports = [
./session-variables.nix
./concepts-and-training.nix
./mnx.nix
];
config = {
# TODO change in alacritty config directly
#pub-solar.graphical.alacritty.settings.font.size = 12;
#pub-solar.graphical.alacritty.settings.key_bindings = [
# {
# key = "V";
# mods = "Control|Super";
# action = "Paste";
# }
# {
# key = "C";
# mods = "Control|Super";
# action = "Copy";
# }
#];
#services.kbfs.enable = true;
#services.keybase.enable = true;
users.users."${psCfg.user.name}" = {
extraGroups = ["dialout"];
};
home-manager.users.${psCfg.user.name} = {
xdg.configFile."git/config".text = import ./.config/git/config.nix {
inherit config;
inherit pkgs;
};
xdg.configFile."git/config_greenbaum.cloud".text = import ./.config/git/config_greenbaum.cloud.nix {
inherit config;
inherit pkgs;
};
xdg.configFile."git/config_mnx".text = import ./.config/git/config_mnx.nix {
inherit config;
inherit pkgs;
};
xdg.configFile."git/config_git.b12f.io".text = import ./.config/git/config_git.b12f.io.nix {
inherit config;
inherit pkgs;
};
xdg.configFile."tmate/tmate.conf".text = import ./.config/tmate/config.nix {
inherit config;
inherit pkgs;
};
xdg.configFile."watson/config".text = import ./.config/watson/config.nix {
inherit config;
inherit pkgs;
};
home.packages = with pkgs; [
AusweisApp2
drone-docker-runner
gpu-switch
ifmetric
ipmitool
thunderbird-128
veracrypt
age-plugin-yubikey
#cockroach-bin
obs-studio
scan2paperless
wlvncc
uhk-agent
restic
notes
];
programs.bash.initExtra = ''
source ${config.age.secrets.environment-secrets.path}
source ${flake.inputs.tritonshell.packages.${pkgs.system}.triton-utils}/bin/ttp.sh
_tailscale()
{
local cur prev words cword
_init_completion -n = || return
if [[ $cword -eq 1 ]]; then
SUBCOMMANDS=$(tailscale --help 2>&1 | awk '/SUBCOMMANDS/{ f = 1; next } /FLAGS/{ f = 0 } f{print $1}')
SUBCOMMANDS="$SUBCOMMANDS debug"
FLAGS="-h --help --socket"
COMPREPLY=( $(compgen -W "$SUBCOMMANDS $FLAGS" -- "$cur" ))
return
else
subcmd="''${COMP_WORDS[1]}"
if [[ "$cur" = *=* ]]; then
COMPREPLY=( $(compgen -W 'false' -- "''${cur#*=}") )
return
elif [[ "$cur" = -* ]]; then
FLAGS=$(tailscale "$subcmd" --help 2>&1 | awk '/FLAGS/{ f = 1; next } f' | grep -oE -- '--[^ ]+[=]?' | tr -d ',')
FLAGS="$FLAGS --help"
COMPREPLY=( $(compgen -W "$FLAGS" -- "$cur" ))
return
else
case "$subcmd" in
"ping"|"ssh")
IP_AND_HOSTNAME=$(tailscale status 2>&1 | awk '{print $1"\n"$2}')
COMPREPLY=( $(compgen -W "$IP_AND_HOSTNAME" -- "$cur" ))
;;
"debug")
SUBCOMMANDS=""
if [[ $cword -eq 2 ]]; then
SUBCOMMANDS=$(tailscale "$subcmd" --help 2>&1 | awk '/SUBCOMMANDS/{ f = 1; next } /FLAGS/{ f = 0 } f{print $1}')
fi
FLAGS=$(tailscale "$subcmd" --help 2>&1 | awk '/FLAGS/{ f = 1; next } f' | grep -oE -- '--[^ ]+[=]?' | tr -d ',')
COMPREPLY=( $(compgen -W "$SUBCOMMANDS $FLAGS" -- "$cur" ))
;;
esac
fi
fi
}
complete -F _tailscale tailscale
complete -C ${flake.inputs.nixos-22-05.legacyPackages.${pkgs.system}.terraform}/bin/terraform terraform
complete -C ${pkgs.opentofu}/bin/tofu tofu
'';
# xdg.configFile."wallpaper.jpg".source = ./assets/wallpaper.jpg;
};
#services.mopidy.configuration = mkIf config.pub-solar.audio.enable (builtins.readFile ../../secrets/mopidy.conf);
};
}