From 51c481f8275b664f696c83f3176c6afafdc8636b Mon Sep 17 00:00:00 2001 From: ArgentumCation Date: Wed, 31 Jul 2024 18:15:01 +0000 Subject: [PATCH] (orexin): initial commit --- auxin/configuration.nix | 3 +- common.nix | 5 ++ flake.nix | 11 ++++ orexin/configuration.nix | 95 +++++++++++++++++++++++++++++++ orexin/hardware-configuration.nix | 58 +++++++++++++++++++ 5 files changed, 170 insertions(+), 2 deletions(-) create mode 100644 orexin/configuration.nix create mode 100644 orexin/hardware-configuration.nix diff --git a/auxin/configuration.nix b/auxin/configuration.nix index 538ac11..28add55 100644 --- a/auxin/configuration.nix +++ b/auxin/configuration.nix @@ -35,7 +35,6 @@ in { ]; nixpkgs = { config = { - allowUnfree = true; kodi.enableAdvancedLauncher = true; pulseaudio = true; }; @@ -276,7 +275,7 @@ in { docker = { unitConfig = { - RequiresMountsFor = "/data"; + RequiresMountsFor = "/raid"; }; wantedBy = ["graphical.target"]; }; diff --git a/common.nix b/common.nix index e84fbc6..661e268 100644 --- a/common.nix +++ b/common.nix @@ -28,6 +28,11 @@ in { experimental-features = nix-command flakes ''; }; + nixpkgs = { + config = { + allowUnfree = true; + }; + }; networking = { hostName = meta.hostname; diff --git a/flake.nix b/flake.nix index bae2dcb..c27a4b1 100644 --- a/flake.nix +++ b/flake.nix @@ -73,6 +73,17 @@ ./common.nix ]; }; + orexin = nixos-unstable.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { + meta = {hostname = "orexin";}; + }; + modules = [ + ./common.nix + ./orexin/configuration.nix + ./orexin/hardware-configuration.nix + ]; + } gastrin = nixos-unstable.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { diff --git a/orexin/configuration.nix b/orexin/configuration.nix new file mode 100644 index 0000000..28f0ba4 --- /dev/null +++ b/orexin/configuration.nix @@ -0,0 +1,95 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page, on +# https://search.nixos.org/options and in the NixOS manual (`nixos-help`). + +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. +# ./hardware-configuration.nix + ]; + +# Use the systemd-boot EFI boot loader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking = { + nameservers = ["192.168.1.207"]; + firewall = { + enable = false; + }; + networkmanager.enable = true; + defaultGateway.address = "192.168.1.1"; + interfaces.enp59s0.ipv4.addresses = [ + {address = "192.168.1.77"; + prefixLength = 24; + }; + ]; + }; + + +# List packages installed in system profile. To search, run: +# $ nix search wget +# environment.systemPackages = with pkgs; [ +# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. +# wget +# ]; + +# Some programs need SUID wrappers, can be configured further or are +# started in user sessions. +# programs.mtr.enable = true; +# programs. + programs = { + gnupg.agent = { +# enable = true; +# enableSSHSupport = true; +# }; + + nh = { + enable = true; + clean.enable = true; + clean.extraArgs = "--keep-since 4d --keep 3"; + flake = "/etc/nixos/"; + }; + zsh.enable = true; + + neovim = { + enable = true; + configure = { + customRC = '' + set number relativenumber + ''; + }; + + defaultEditor = true; + }; + }; + virtualisation.docker = { + storageDriver = "overlay2"; + enableOnBoot = true; + enable = true; + autoPrune.enable = true; + extraOptions = "--userns-remap=default"; + liveRestore = false; # NOTE: Incompatible with swarm + }; +# List services that you want to enable: + +# Enable the OpenSSH daemon. +# services.openssh.enable = true; + +# Open ports in the firewall. +# networking.firewall.allowedTCPPorts = [ ... ]; +# networking.firewall.allowedUDPPorts = [ ... ]; +# Or disable the firewall altogether. +# networking.firewall.enable = false; + +# Copy the NixOS configuration file and link it from the resulting system +# (/run/current-system/configuration.nix). This is useful in case you +# accidentally delete configuration.nix. +# system.copySystemConfiguration = true; + + system.stateVersion = "24.05"; # Did you read the comment? + +} + diff --git a/orexin/hardware-configuration.nix b/orexin/hardware-configuration.nix new file mode 100644 index 0000000..9eac5ff --- /dev/null +++ b/orexin/hardware-configuration.nix @@ -0,0 +1,58 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "sd_mod" "usbhid" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/8fe40009-64b9-4f75-8cfe-d73560e3c7d0"; + fsType = "btrfs"; + options = [ "subvol=@" "noatime" "space_cache=v2" "compress=zstd"]; + }; + + fileSystems."/home" = + { device = "/dev/disk/by-uuid/8fe40009-64b9-4f75-8cfe-d73560e3c7d0"; + fsType = "btrfs"; + options = [ "subvol=@home" "noatime" "space_cache=v2" "compress=zstd"]; + }; + + fileSystems."/nix" = + { device = "/dev/disk/by-uuid/8fe40009-64b9-4f75-8cfe-d73560e3c7d0"; + fsType = "btrfs"; + options = [ "subvol=@nix" "noatime" "space_cache=v2" "compress=zstd"]; + }; + + fileSystems."/data" = + { device = "/dev/disk/by-uuid/d57652b7-5506-4cdd-8694-90bcd4810d7b"; + fsType = "btrfs"; + options = ["noatime" "space_cache=v2" "compress=zstd"]; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/8BA9-84E8"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp59s0.useDHCP = lib.mkDefault true; + services.btrfs.autoScrub.enable = true; + networking.useDHCP = true; + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +}