{ 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 drone-docker-runner gpu-switch ifmetric ipmitool thunderbird veracrypt age-plugin-yubikey #cockroach-bin obs-studio scan2paperless 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 ${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); }; }