diff options
| author | seraphim <18ycm9tx@anonaddy.me> | 2026-07-29 22:09:05 +0700 |
|---|---|---|
| committer | seraphim <18ycm9tx@anonaddy.me> | 2026-07-29 22:09:05 +0700 |
| commit | 73ddb338cd7542f9569a9ab5cb0481b4f0636710 (patch) | |
| tree | 559d8c542d6e965e674a46c9451efc1cb80f203a /nixos/modules/system | |
| parent | abd12d161f0aaac458abeb139556ea5ccc1fcae8 (diff) | |
.
Diffstat (limited to 'nixos/modules/system')
| -rw-r--r-- | nixos/modules/system/audio/default.nix | 17 | ||||
| -rw-r--r-- | nixos/modules/system/boot/default.nix | 31 | ||||
| -rw-r--r-- | nixos/modules/system/hardware/default.nix | 16 | ||||
| -rw-r--r-- | nixos/modules/system/locale/default.nix | 18 | ||||
| -rw-r--r-- | nixos/modules/system/network/default.nix | 32 | ||||
| -rw-r--r-- | nixos/modules/system/nix/default.nix | 21 | ||||
| -rw-r--r-- | nixos/modules/system/printing/default.nix | 12 | ||||
| -rw-r--r-- | nixos/modules/system/services/default.nix | 13 | ||||
| -rw-r--r-- | nixos/modules/system/users/default.nix | 34 |
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 |
