infrastructure/nixos/hosts/hades/lucy/configuration.nix

76 lines
2.1 KiB
Nix
Raw Normal View History

2023-05-03 13:00:34 +02:00
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
2023-05-03 14:31:38 +02:00
{ pkgs, ... }:
2023-05-04 09:26:36 +02:00
let
# Redefining the package instead of overriding as overriding GoModules seems broken
# see: https://github.com/NixOS/nixpkgs/issues/86349
nuclei-latest = pkgs.buildGoModule rec {
pname = "nuclei";
version = "2.9.2";
src = pkgs.fetchFromGitHub {
owner = "projectdiscovery";
repo = pname;
rev = "1f9a065713924b28b203e2108fc76d7a1ec49068";
hash = "sha256-QiegMoBy0gZMyQl2MRAwR14zXeh8wvVonyETdAzHbj0=";
};
vendorHash = "sha256-0JNwoBqLKH1F/0Tr8o35gCSNT/2plIjIQvZRuzAZ5P8=";
modRoot = "./v2";
subPackages = [ "cmd/nuclei/" ];
doCheck = false;
};
2023-09-25 11:56:02 +02:00
in
{
2023-05-03 13:09:19 +02:00
imports = [ ./hardware-configuration.nix ];
2023-05-03 13:00:34 +02:00
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "23.05"; # Did you read the comment?
# Additional packages
2023-06-15 11:33:56 +02:00
environment.systemPackages = with pkgs; [
2023-07-11 15:31:12 +02:00
ffuf
2023-06-15 11:33:56 +02:00
gcc
go
jq
2023-07-11 15:31:12 +02:00
nuclei-latest
2023-06-15 11:33:56 +02:00
rustup
trivy
2023-07-11 15:31:12 +02:00
wapiti
2023-06-15 11:33:56 +02:00
];
2023-09-25 11:56:02 +02:00
boot.loader = {
2023-05-03 13:00:34 +02:00
2023-09-25 11:56:02 +02:00
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
efi.efiSysMountPoint = "/boot";
};
2023-05-03 14:08:38 +02:00
2023-05-03 14:31:38 +02:00
virtualisation.docker.enable = true;
2023-05-03 14:08:38 +02:00
2023-06-15 11:33:56 +02:00
services.mosquitto = {
enable = true;
listeners = [{
acl = [ "pattern readwrite #" ];
omitPasswordAuth = true;
settings.allow_anonymous = true;
}];
};
networking.firewall = {
enable = true;
allowedTCPPorts = [ 1883 ];
};
2023-05-03 14:31:38 +02:00
users.extraUsers.laura.extraGroups = [ "wheel" "docker" ];
users.extraUsers.victor.extraGroups = [ "docker" ];
2023-05-03 13:00:34 +02:00
}