summaryrefslogtreecommitdiff
path: root/Omni/Dev/Beryllium/Configuration.nix
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2024-11-15 14:55:37 -0500
committerBen Sima <ben@bsima.me>2024-12-21 10:06:49 -0500
commit6513755670892983db88a6633b8c1ea6019c03d1 (patch)
tree44e9eccdb7a3a74ab7e96a8fee7572dd6a78dc73 /Omni/Dev/Beryllium/Configuration.nix
parentae7b7e0186b5f2e0dcd4d5fac0a71fa264caedc2 (diff)
Re-namespace some stuff to Omni
I was getting confused about what is a product and what is internal infrastructure; I think it is good to keep those things separate. So I moved a bunch of stuff to an Omni namespace, actually most stuff went there. Only things that are explicitly external products are still in the Biz namespace.
Diffstat (limited to 'Omni/Dev/Beryllium/Configuration.nix')
-rw-r--r--Omni/Dev/Beryllium/Configuration.nix115
1 files changed, 115 insertions, 0 deletions
diff --git a/Omni/Dev/Beryllium/Configuration.nix b/Omni/Dev/Beryllium/Configuration.nix
new file mode 100644
index 0000000..16f4bca
--- /dev/null
+++ b/Omni/Dev/Beryllium/Configuration.nix
@@ -0,0 +1,115 @@
+{ pkgs, ... }:
+
+let ports = import ../../Cloud/Ports.nix;
+in {
+ imports = [ # Include the results of the hardware scan.
+ ./Hardware.nix
+ ];
+
+ # Bootloader.
+ boot.loader.systemd-boot.enable = true;
+ boot.loader.efi.canTouchEfiVariables = true;
+
+ boot.kernelModules = [ "v4l2loopback" ];
+ boot.extraModulePackages = [ pkgs.linuxPackages.v4l2loopback ];
+
+ # Enable networking
+ networking.networkmanager.enable = true;
+
+ # Set your time zone.
+ time.timeZone = "America/New_York";
+
+ # Select internationalisation properties.
+ i18n.defaultLocale = "en_US.UTF-8";
+
+ i18n.extraLocaleSettings = {
+ LC_ADDRESS = "en_US.UTF-8";
+ LC_IDENTIFICATION = "en_US.UTF-8";
+ LC_MEASUREMENT = "en_US.UTF-8";
+ LC_MONETARY = "en_US.UTF-8";
+ LC_NAME = "en_US.UTF-8";
+ LC_NUMERIC = "en_US.UTF-8";
+ LC_PAPER = "en_US.UTF-8";
+ LC_TELEPHONE = "en_US.UTF-8";
+ LC_TIME = "en_US.UTF-8";
+ };
+
+ # don't auto suspend-to-RAM
+ powerManagement.enable = true;
+
+ # Enable the X11 windowing system.
+ services.xserver.enable = true;
+
+ # Enable the KDE Plasma Desktop Environment.
+ services.xserver.displayManager.gdm.enable = true;
+ services.xserver.desktopManager.gnome.enable = true;
+
+ # Configure keymap in X11
+ services.xserver = {
+ layout = "us";
+ xkbVariant = "";
+ };
+
+ # Enable CUPS to print documents.
+ services.printing.enable = true;
+
+ # Enable sound with pipewire.
+ hardware.pulseaudio.enable = false;
+ security.rtkit.enable = true;
+ services.pipewire = {
+ enable = true;
+ alsa.enable = true;
+ alsa.support32Bit = true;
+ pulse.enable = true;
+ # If you want to use JACK applications, uncomment this
+ jack.enable = true;
+ wireplumber.enable = true;
+ };
+
+ hardware.opengl.enable = true;
+ hardware.opengl.driSupport32Bit = true;
+ services.xserver.videoDrivers = [ "nvidia" ];
+ hardware.nvidia.nvidiaPersistenced = true;
+ hardware.nvidia.modesetting.enable = true;
+ hardware.nvidia.powerManagement.enable = false;
+ hardware.nvidia.powerManagement.finegrained = false;
+ hardware.nvidia.open = true;
+ hardware.nvidia.nvidiaSettings = true;
+
+ hardware.keyboard.zsa.enable = true;
+
+ services.xserver.displayManager.autoLogin.enable = false;
+ services.xserver.displayManager.autoLogin.user = "ben";
+
+ services.clight.enable = true;
+ services.clight.temperature.day = 6500;
+ services.clight.temperature.night = 1800;
+ services.clight.settings.sunrise = "7:00";
+ services.clight.settings.sunset = "17:00";
+ location.latitude = 40.8;
+ location.longitude = -81.52;
+
+ services.eternal-terminal.enable = true;
+
+ environment.systemPackages = with pkgs; [
+ v4l-utils
+ linuxPackages.v4l2loopback
+ nvtop
+ keymapp
+ wally-cli
+ # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
+ # wget
+ ];
+
+ systemd.services.NetworkManager-wait-online.enable = false;
+
+ networking.firewall.allowedTCPPorts = [ ports.barrier ];
+ # 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. It‘s 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?
+
+}