initial try at config for manofwar

This commit is contained in:
Tyler Starr 2024-03-24 18:59:05 -07:00
parent 2c562a0d0a
commit 222134252d
7 changed files with 187 additions and 0 deletions

View File

@ -0,0 +1,106 @@
{ config, pkgs, user, lib, ... }:
{
imports = [
#./klipper.nix
#./moonraker.nix
#./fluidd.nix
];
nix = {
package = pkgs.nixFlakes;
extraOptions = "experimental-features = nix-command flakes";
settings.auto-optimise-store = true;
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 7d";
};
};
# Add non-free packages
nixpkgs.config.allowUnfree = true;
nixpkgs.config.permittedInsecurePackages = [ "electron-25.9.0" "openssl-1.1.1w" ];
nixpkgs.overlays = import ../../lib/overlays.nix;
# Use zen kernel
boot.kernelPackages = pkgs.linuxPackages_zen;
# Hardware options
hardware.bluetooth.enable = true;
hardware.bluetooth.package = pkgs.bluez;
hardware.sensor.iio.enable = true;
hardware.opengl.enable = true;
hardware.opengl.driSupport = true;
hardware.opengl.driSupport32Bit = true;
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# Set networking options
networking.hostName = "manofwar";
networking.firewall.checkReversePath = "loose";
networking.firewall.enable = false;
# Set your time zone.
time.timeZone = "America/Los_Angeles";
i18n.defaultLocale = "en_US.UTF-8";
# Add fonts
fonts.packages = with pkgs; [
nerdfonts
];
# Define user account.
users.users.${user} = {
isNormalUser = true;
extraGroups = [ "dialout" "wheel" ]; # Enable sudo for the user.
};
# List packages installed in system profile.
environment.systemPackages = with pkgs; [
# One-off packages
libraspberrypi
];
# Enable modules
modules = {
desktop = {
sway.enable = false;
browser.enable = false;
};
devel = {
engineering.enable = false;
notes.enable = false;
python.enable = false;
tooling.enable = false;
};
gaming = {
steam.enable = false;
emulation.enable = false;
misc.enable = false;
};
services = {
jellyfin.enable = false;
peripherals.enable = false;
samba-client.enable = false;
virt-manager.enable = false;
};
system = {
secrets.enable = true;
ssh.enable = true;
terminal.enable = true;
wireguard-client = {
enable = false;
#privateKeyFile = "/run/secrets/wireguard/kestrel";
#address = [ "192.168.3.3/24" ];
#publicKey = "bd7bbZOngl/FTdBlnbIhgCLNf6yx5X8WjiRB7E1NEQQ=";
#endpoint = "66.218.43.87";
};
};
};
# Did you read the comment?
system.stateVersion = "23.11";
}

View File

@ -0,0 +1,5 @@
{ config, lib, pkgs, user, ... }:
services.fluidd.enable = true;
services.fluidd.nginx.locations."/webcam".proxyPass = "http://127.0.0.1:8080/stream";
services.nginx.clientMaxBodySize = "1000m";
}

View File

@ -0,0 +1,32 @@
{ config, pkgs, user, ... }:
{
home.username = "${user}";
home.homeDirectory = "/home/${user}";
programs.home-manager.enable = true;
# Setup direnv
programs.direnv = {
enable = true;
enableBashIntegration = true;
nix-direnv.enable = true;
};
# Setup git
programs.git = {
enable = true;
userName = "starr-dusT";
userEmail = "starrtyler88@gmail.com";
};
home.packages = with pkgs; [
];
# Enable home modules
modules = {
desktop = {
kitty.enable = true;
};
};
home.stateVersion = "23.11";
}

View File

@ -0,0 +1,14 @@
{ config, lib, pkgs, user, ... }:
services.klipper = {
enable = true;
firmwares = {
mcu = {
enable = false;
# Run klipper-genconf to generate this
#configFile = ./avr.cfg;
# Serial port connected to the microcontroller
#serial = "/dev/serial/by-id/usb-Arduino__www.arduino.cc__0042_55639303235351D01152-if00";
};
};
}
}

View File

@ -0,0 +1,29 @@
{ config, lib, pkgs, user, ... }:
services.moonraker = {
user = "${user}";
enable = true;
address = "0.0.0.0";
settings = {
octoprint_compat = { };
history = { };
authorization = {
force_logins = true;
cors_domains = [
"*.local"
"*.lan"
"*://app.fluidd.xyz"
"*://my.mainsail.xyz"
];
trusted_clients = [
"10.0.0.0/8"
"127.0.0.0/8"
"169.254.0.0/16"
"172.16.0.0/12"
"192.168.1.0/24"
"FE80::/10"
"::1/128"
];
};
};
};
}

View File

@ -19,3 +19,4 @@ for information on initial installation.
| <img src="./resources/img/torus.png" width="100"> | [Torus](./provision/hosts/torus/) | Home server | Primary home server for storage, hosting machine backups, and running services like Jellyfin. |
| <img src="./resources/img/bulwark.png" width="100"> | [Bulwark](./provision/hosts/bulwark/) | Steam Deck | NixOS based Steam Deck that can has my linux niceties and acts like a Steam Deck using the great [Jovian Nixos](https://github.com/Jovian-Experiments/Jovian-NixOS). |
| <img src="./resources/img/shivan.png" width="100"> | [Shivan](./provision/hosts/shivan/) | Personal Laptop | Personal (and very slow) laptop for basic mobile work. |
| <img src="./resources/img/manofwar.png" width="100"> | [Man of War](./provision/hosts/manofwar/) | 3D Printer RPI | Host for klipper and other services on Voron 2.4 Rev C. |

BIN
resources/img/manofwar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB