144 lines
4.4 KiB
Nix
144 lines
4.4 KiB
Nix
{
|
|
config,
|
|
home-manager,
|
|
flake,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
with lib; 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
|
|
consul
|
|
drone-docker-runner
|
|
gpu-switch
|
|
ifmetric
|
|
ipmitool
|
|
#keybase-gui
|
|
nomad
|
|
thunderbird
|
|
vault
|
|
veracrypt
|
|
waypoint
|
|
age-plugin-yubikey
|
|
#cockroach-bin
|
|
obs-studio
|
|
wlvncc
|
|
];
|
|
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 ${pkgs.consul}/bin/consul consul
|
|
complete -C ${pkgs.nomad}/bin/nomad nomad
|
|
complete -C ${pkgs.vault}/bin/vault vault
|
|
complete -C ${flake.inputs.nixos-22-05.legacyPackages.${pkgs.system}.terraform}/bin/terraform terraform
|
|
complete -C ${pkgs.waypoint}/bin/waypoint waypoint
|
|
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);
|
|
};
|
|
}
|