eve-psr-nix0/flake.nix

90 lines
2.7 KiB
Nix
Raw Normal View History

2023-06-01 14:39:07 -05:00
{
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
sops = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, sops, ... }@attrs:
let
pkgs = import nixpkgs { inherit system; };
system = "x86_64-linux";
in {
devShell.x86_64-linux = pkgs.mkShell {
buildInputs =
[ (pkgs.nixos { }).nixos-rebuild pkgs.terraform pkgs.sops ];
shellHook =
" alias sops-deploy=\"nixos-rebuild switch --target-host root@matri.cx --build-host root@matri.cx --flake .#eve-psr-nix0\"\n";
};
nixosConfigurations = {
eve-psr-nix0 = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = attrs;
modules = [
({ modulesPath, ... }: {
imports = [ sops.nixosModules.sops ./hardware-configuration.nix ];
boot = {
loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = true;
};
nix = {
buildMachines = [ ];
distributedBuilds = false;
settings.experimental-features = [ "nix-command" "flakes" ];
};
networking = {
hostName = "eve-psr-nix0";
firewall = {
allowedTCPPorts = [ 22 80 443 ];
allowedUDPPorts = [ 22 80 443 ];
};
};
time.timeZone = "America/Chicago";
2023-06-01 14:39:07 -05:00
services.openssh.enable = true;
virtualisation.docker = {
enable = true;
liveRestore = false;
};
environment.systemPackages = with pkgs; [ git pciutils vim wget ];
programs.zsh.enable = true;
users = {
defaultUserShell = pkgs.zsh;
users = {
sezycei = {
isNormalUser = true;
initialPassword = "bootMaster";
extraGroups = [ "wheel" "docker" ];
packages = with pkgs; [ byobu tmux stack ];
};
torrent = {
isNormalUser = true;
initialPassword = "torrentUserTemp";
};
};
};
security.sudo.wheelNeedsPassword = false;
sops = {
age = { sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; };
defaultSopsFile = ./secrets/keys.yaml;
secrets = { hostname = { }; };
};
system.stateVersion = "22.11";
})
];
};
2023-06-01 14:39:07 -05:00
};
};
}