Skip to content
Snippets Groups Projects
Select Git revision
  • d4b467a34e0d8877428ad5f46d55f016d6928504
  • main default protected
  • restricted-sqlite-strategies
  • compare-structured-sql-dumps
  • 235.backup-and-recovery.recovery
  • mypy
  • real-spender
  • github/fork/tp-la/real-spender
  • 260.metric-rejected-zkaps
  • implicit-lease-renewal-problems
  • mach-nix
  • github/fork/tp-la/deep-traverse
  • v0.0
13 results

cryptography_vectors.nix

Blame
  • vagrant-guest.nix 2.87 KiB
    # Minimal configuration that vagrant depends on
    
    { config, pkgs, lib, ... }:
    let
      # Vagrant uses an insecure shared private key by default, but we
      # don't use the authorizedKeys attribute under users because it should be
      # removed on first boot and replaced with a random one. This script sets
      # the correct permissions and installs the temporary key if no
      # ~/.ssh/authorized_keys exists.
      install-vagrant-ssh-key = pkgs.writeScriptBin "install-vagrant-ssh-key" ''
        #!${pkgs.runtimeShell}
        if [ ! -e ~/.ssh/authorized_keys ]; then
          mkdir -m 0700 -p ~/.ssh
          echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key" >> ~/.ssh/authorized_keys
          chmod 0600 ~/.ssh/authorized_keys
        fi
      '';
    in
    {
      # Services to enable:
    
      # Enable the OpenSSH daemon.
      services.openssh.enable = true;
    
      # Wireguard kernel module for Kernels < 5.6
      boot = lib.mkIf (lib.versionOlder pkgs.linuxPackages.kernel.version "5.6") {
        extraModulePackages = [ config.boot.kernelPackages.wireguard ] ;
      };
    
      # Enable DBus
      services.dbus.enable    = true;
    
      # Replace ntpd by timesyncd
      services.timesyncd.enable = true;
    
      # Packages for Vagrant
      environment.systemPackages = with pkgs; [
        findutils
        gnumake
        iputils
        jq
        nettools
        netcat
        nfs-utils
        rsync
      ];
    
      users.users.root = { password = "vagrant"; };
    
      # Creates a "vagrant" group & user with password-less sudo access
      users.groups.vagrant = {
        name = "vagrant";
        members = [ "vagrant" ];
      };
      users.extraUsers.vagrant = {
        isNormalUser    = true;
        createHome      = true;
        group           = "vagrant";
        extraGroups     = [ "users" "wheel" ];
        password        = "vagrant";
        home            = "/home/vagrant";
        useDefaultShell = true;
      };
    
      systemd.services.install-vagrant-ssh-key = {
        description = "Vagrant SSH key install (if needed)";
        after = [ "fs.target" ];
        wants = [ "fs.target" ];
        wantedBy = [ "multi-user.target" ];
        serviceConfig = {