summaryrefslogtreecommitdiff
path: root/nixos/modules/system
diff options
context:
space:
mode:
authorseraphim <18ycm9tx@anonaddy.me>2026-07-29 22:09:05 +0700
committerseraphim <18ycm9tx@anonaddy.me>2026-07-29 22:09:05 +0700
commit73ddb338cd7542f9569a9ab5cb0481b4f0636710 (patch)
tree559d8c542d6e965e674a46c9451efc1cb80f203a /nixos/modules/system
parentabd12d161f0aaac458abeb139556ea5ccc1fcae8 (diff)
.
Diffstat (limited to 'nixos/modules/system')
-rw-r--r--nixos/modules/system/audio/default.nix17
-rw-r--r--nixos/modules/system/boot/default.nix31
-rw-r--r--nixos/modules/system/hardware/default.nix16
-rw-r--r--nixos/modules/system/locale/default.nix18
-rw-r--r--nixos/modules/system/network/default.nix32
-rw-r--r--nixos/modules/system/nix/default.nix21
-rw-r--r--nixos/modules/system/printing/default.nix12
-rw-r--r--nixos/modules/system/services/default.nix13
-rw-r--r--nixos/modules/system/users/default.nix34
9 files changed, 194 insertions, 0 deletions
diff --git a/nixos/modules/system/audio/default.nix b/nixos/modules/system/audio/default.nix
new file mode 100644
index 0000000..140b08c
--- /dev/null
+++ b/nixos/modules/system/audio/default.nix
@@ -0,0 +1,17 @@
+{ pkgs, ... }:
+
+{
+ security.rtkit.enable = true;
+ services.pipewire = {
+ enable = true;
+ alsa.enable = true;
+ alsa.support32Bit = true;
+ pulse.enable = true;
+ };
+
+ environment.systemPackages = with pkgs; [
+ brightnessctl
+ pamixer
+ playerctl
+ ];
+} \ No newline at end of file
diff --git a/nixos/modules/system/boot/default.nix b/nixos/modules/system/boot/default.nix
new file mode 100644
index 0000000..eedf939
--- /dev/null
+++ b/nixos/modules/system/boot/default.nix
@@ -0,0 +1,31 @@
+{ config, pkgs, lib, modulesPath, ... }:
+
+{
+ imports = [
+ (modulesPath + "/installer/scan/not-detected.nix")
+ ];
+
+ boot.loader.systemd-boot.enable = true;
+ boot.loader.efi.canTouchEfiVariables = true;
+
+ boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
+ boot.initrd.kernelModules = [ ];
+ boot.kernelModules = [ "kvm-amd" ];
+ boot.extraModulePackages = [ ];
+
+ # EDID firmware loading is kept here because it's a kernel-level boot concern.
+ # Commented kernel params from the original config are preserved.
+ # boot.kernelParams = [
+ # "drm.edid_firmware=DP-1:edid/mi_edid.bin"
+ # "video=DP-1:2560x1440@180"
+ # ];
+ hardware.firmware = [
+ (pkgs.runCommand "custom-edid" {} ''
+ mkdir -p $out/lib/firmware/edid
+ cp ${../../../mi_edid.bin} $out/lib/firmware/edid/mi_edid.bin
+ '')
+ ];
+
+ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+ hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+} \ No newline at end of file
diff --git a/nixos/modules/system/hardware/default.nix b/nixos/modules/system/hardware/default.nix
new file mode 100644
index 0000000..bad717c
--- /dev/null
+++ b/nixos/modules/system/hardware/default.nix
@@ -0,0 +1,16 @@
+{ config, pkgs, ... }:
+
+{
+ fileSystems."/mnt/giga" = {
+ device = "/dev/disk/by-uuid/bfed3a37-05e1-465b-a4b7-d74cd31bf937";
+ fsType = "ext4";
+ options = [ "defaults" "user" "rw" ];
+ };
+
+ hardware.graphics = {
+ enable = true;
+ enable32Bit = true;
+ };
+
+ services.xserver.videoDrivers = [ "nvidia" ];
+} \ No newline at end of file
diff --git a/nixos/modules/system/locale/default.nix b/nixos/modules/system/locale/default.nix
new file mode 100644
index 0000000..da66f76
--- /dev/null
+++ b/nixos/modules/system/locale/default.nix
@@ -0,0 +1,18 @@
+{ ... }:
+
+{
+ time.timeZone = "Etc/GMT-7";
+
+ 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";
+ };
+} \ No newline at end of file
diff --git a/nixos/modules/system/network/default.nix b/nixos/modules/system/network/default.nix
new file mode 100644
index 0000000..a862235
--- /dev/null
+++ b/nixos/modules/system/network/default.nix
@@ -0,0 +1,32 @@
+{ ... }:
+
+{
+ networking.hostName = "opus";
+ networking.networkmanager.enable = true;
+ programs.amnezia-vpn.enable = true;
+
+ # Primary DNS via Mullvad DoT (Base mode)
+ networking.nameservers = [
+ "194.242.2.4#base.dns.mullvad.net"
+ "194.242.2.2#dns.mullvad.net"
+ ];
+
+ # systemd-resolved: Mullvad primary, Quad9 fallback
+ services.resolved = {
+ enable = true;
+ dnsovertls = "opportunistic";
+ dnssec = "false";
+ domains = [ "~." ];
+ fallbackDns = [
+ "9.9.9.9#dns.quad9.net"
+ "149.112.112.112#dns.quad9.net"
+ ];
+ };
+
+ # Avahi (Printer / Network Discovery)
+ services.avahi = {
+ enable = true;
+ nssmdns4 = true;
+ openFirewall = true;
+ };
+} \ No newline at end of file
diff --git a/nixos/modules/system/nix/default.nix b/nixos/modules/system/nix/default.nix
new file mode 100644
index 0000000..8f33990
--- /dev/null
+++ b/nixos/modules/system/nix/default.nix
@@ -0,0 +1,21 @@
+{ config, pkgs, lib, inputs, ... }:
+
+{
+ nix.settings.experimental-features = [ "nix-command" "flakes" ];
+ nixpkgs.config.allowUnfree = true;
+
+ nix.gc = {
+ automatic = true;
+ dates = "weekly";
+ options = "--delete-older-than 7d";
+ };
+
+ programs.nix-ld.enable = true;
+ services.envfs.enable = true;
+ security.polkit.enable = true;
+
+ environment.variables = {
+ SSL_CERT_FILE = "/etc/ssl/certs/ca-certificates.crt";
+ NIX_SSL_CERT_FILE = "/etc/ssl/certs/ca-certificates.crt";
+ };
+} \ No newline at end of file
diff --git a/nixos/modules/system/printing/default.nix b/nixos/modules/system/printing/default.nix
new file mode 100644
index 0000000..26ceb03
--- /dev/null
+++ b/nixos/modules/system/printing/default.nix
@@ -0,0 +1,12 @@
+{ pkgs, ... }:
+
+{
+ services.printing = {
+ enable = true;
+ drivers = with pkgs; [
+ brlaser
+ gutenprint
+ cups-filters
+ ];
+ };
+} \ No newline at end of file
diff --git a/nixos/modules/system/services/default.nix b/nixos/modules/system/services/default.nix
new file mode 100644
index 0000000..40cfa89
--- /dev/null
+++ b/nixos/modules/system/services/default.nix
@@ -0,0 +1,13 @@
+{ ... }:
+
+{
+ services.gvfs.enable = true;
+ services.tumbler.enable = true;
+ services.gnome.gnome-keyring.enable = true;
+ programs.dconf.enable = true;
+
+ services.journald.extraConfig = ''
+ SystemMaxUse=50M
+ MaxRetentionSec=1month
+ '';
+} \ No newline at end of file
diff --git a/nixos/modules/system/users/default.nix b/nixos/modules/system/users/default.nix
new file mode 100644
index 0000000..042c055
--- /dev/null
+++ b/nixos/modules/system/users/default.nix
@@ -0,0 +1,34 @@
+{ pkgs, ... }:
+
+{
+ users.users."seraphim" = {
+ isNormalUser = true;
+ description = "seraphim";
+ shell = pkgs.fish;
+ extraGroups = [ "networkmanager" "wheel" ];
+ packages = with pkgs; [];
+ };
+
+ security.doas = {
+ enable = true;
+ extraRules = [
+ {
+ users = [ "seraphim" ];
+ keepEnv = true;
+ persist = true;
+ }
+ ];
+ };
+
+ programs.fish = {
+ enable = true;
+ interactiveShellInit = ''
+ set -g fish_greeting ""
+ fzf --fish | source
+ '';
+ shellAliases = {
+ ls = "eza -al --icons=auto";
+ ll = "eza -al --icons=auto";
+ };
+ };
+} \ No newline at end of file