From 65dc01e1d1e8bbcaadc73cb8e61fba5a38ee37dc Mon Sep 17 00:00:00 2001 From: roxwize Date: Mon, 3 Mar 2025 19:48:52 -0500 Subject: [PATCH] ~ --- nixos/hosts/base.nix | 23 +++ nixos/hosts/desktop.nix | 296 +++++++++++++-------------- nixos/hosts/ioides/configuration.nix | 111 +++++----- nixos/hosts/near/configuration.nix | 1 + 4 files changed, 218 insertions(+), 213 deletions(-) create mode 100644 nixos/hosts/base.nix diff --git a/nixos/hosts/base.nix b/nixos/hosts/base.nix new file mode 100644 index 0000000..e5a9d87 --- /dev/null +++ b/nixos/hosts/base.nix @@ -0,0 +1,23 @@ +{ pkgs, ... }: { + nix.settings = { + experimental-features = [ "nix-command" "flakes" ]; + trusted-users = [ "root" "rae" ]; + }; + nixpkgs = { + config.allowUnfree = true; + overlays = import ../overlays.nix inputs; + }; + + users.users.rae = { + isNormalUser = true; + extraGroups = [ "wheel" "docker" "jackaudio" ]; + hashedPassword = "$y$j9T$YPq.Kl8rss1JmJ5Vg6cHE/$2kdfzCkkhaO.I4u714EQnS/ZFert5byisiRVxtC.9G2"; + shell = pkgs.fish; + }; + + i18n.defaultLocale = "en_US.UTF-8"; + console = { + font = "gr928-8x16-thin"; # https://adeverteuil.github.io/linux-console-fonts-screenshots/ + keyMap = "us"; + }; +} \ No newline at end of file diff --git a/nixos/hosts/desktop.nix b/nixos/hosts/desktop.nix index edd50ff..a8e470e 100644 --- a/nixos/hosts/desktop.nix +++ b/nixos/hosts/desktop.nix @@ -1,170 +1,148 @@ -{ config, pkgs, inputs, ... }: -{ - imports = [ - inputs.nix-flatpak.nixosModules.nix-flatpak - ../packages.nix - ]; +{ config, pkgs, inputs, ... }: { + imports = [ + inputs.nix-flatpak.nixosModules.nix-flatpak + ../base.nix + ../packages.nix + ]; - boot = { - extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; - extraModprobeConfig = '' - options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1 - ''; - supportedFilesystems = [ "ntfs" ]; - }; + boot = { + extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; + extraModprobeConfig = '' + options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1 + ''; + supportedFilesystems = [ "ntfs" ]; + }; - security.polkit.enable = true; + security.polkit.enable = true; - nix.settings = { - experimental-features = [ "nix-command" "flakes" ]; - trusted-users = [ "root" "rae" ]; - }; - nixpkgs = { - config.allowUnfree = true; - overlays = import ../overlays.nix inputs; - }; + networking.networkmanager.enable = true; - networking.networkmanager.enable = true; + programs = { + dconf.enable = true; + firefox.enable = true; + fish.enable = true; + gnupg.agent = { + enable = true; + enableSSHSupport = true; + }; + nix-ld.enable = true; + steam = { + enable = true; + remotePlay.openFirewall = true; + dedicatedServer.openFirewall = true; + localNetworkGameTransfers.openFirewall = true; + }; + thunderbird = { + enable = true; + policies.DisableTelemetry = true; + }; + }; - users.users.rae = { - isNormalUser = true; - extraGroups = [ "wheel" "docker" "jackaudio" ]; - hashedPassword = "$y$j9T$YPq.Kl8rss1JmJ5Vg6cHE/$2kdfzCkkhaO.I4u714EQnS/ZFert5byisiRVxtC.9G2"; - shell = pkgs.fish; - }; + services = { + # Xorg + xserver = { + enable = true; + xkb.layout = "us"; + windowManager = { + cwm.enable = true; + openbox.enable = true; + twm.enable = true; + }; + }; + displayManager = { + sddm = { + enable = true; + settings = { + Autologin = { + User = "rae"; + Session = "none+openbox"; + }; + }; + theme = "catppuccin-mocha"; + }; + }; - programs = { - dconf.enable = true; - firefox.enable = true; - fish.enable = true; - gnupg.agent = { - enable = true; - enableSSHSupport = true; - }; - nix-ld.enable = true; - steam = { - enable = true; - remotePlay.openFirewall = true; - dedicatedServer.openFirewall = true; - localNetworkGameTransfers.openFirewall = true; - }; - thunderbird = { - enable = true; - policies.DisableTelemetry = true; - }; - }; + # Touchpad support + libinput.enable = true; + # Sound + pipewire = { + enable = true; + alsa.enable = true; + pulse.enable = true; + jack.enable = true; + }; + # CUPS printing + # Can be configured at http://127.0.0.1:631/ + # Local printers are host-specific (see `hardware.printers`) + # Avahi enables IPP Everywhere + printing.enable = true; + avahi = { + enable = true; + nssmdns4 = true; + openFirewall = true; + }; + # misc + blueman.enable = true; + flatpak.enable = true; + openssh = { + enable = true; + knownHosts = + let + host = name: key: { + name = name; + value = { + hostNames = [ name ]; + publicKey = key; + }; + }; + in { + + } // builtins.listToAttrs [ + (host "git.sr.ht" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMZvRd4EtM7R+IHVMWmDkVU3VLQTSwQDSAvW0t2Tkj60") + (host "github.com" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl") + (host "hackclub.app" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ3pezDUZG+4bPRZg2znAuuMp42AL+rc1HGUltnNf8cA") + (host "verygay.world" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICMql669TiEneexyQsUWfCo9ouEJwk3f21d9chpBqFge") + ]; + }; + }; - services = { - # Xorg - xserver = { - enable = true; - xkb.layout = "us"; - windowManager = { - cwm.enable = true; - openbox.enable = true; - twm.enable = true; - }; - }; - displayManager = { - sddm = { - enable = true; - settings = { - Autologin = { - User = "rae"; - Session = "none+openbox"; - }; - }; - theme = "catppuccin-mocha"; - }; - }; + hardware = { + bluetooth = { + enable = true; + powerOnBoot = true; + }; + opentabletdriver.enable = true; + }; - # Touchpad support - libinput.enable = true; - # Sound - pipewire = { - enable = true; - alsa.enable = true; - pulse.enable = true; - jack.enable = true; - }; - # CUPS printing - # Can be configured at http://127.0.0.1:631/ - # Local printers are host-specific (see `hardware.printers`) - # Avahi enables IPP Everywhere - printing.enable = true; - avahi = { - enable = true; - nssmdns4 = true; - openFirewall = true; - }; - # misc - blueman.enable = true; - flatpak.enable = true; - openssh = { - enable = true; - knownHosts = - let - host = name: key: { - name = name; - value = { - hostNames = [ name ]; - publicKey = key; - }; - }; - in { - - } // builtins.listToAttrs [ - (host "git.sr.ht" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMZvRd4EtM7R+IHVMWmDkVU3VLQTSwQDSAvW0t2Tkj60") - (host "github.com" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl") - (host "hackclub.app" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ3pezDUZG+4bPRZg2znAuuMp42AL+rc1HGUltnNf8cA") - (host "verygay.world" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICMql669TiEneexyQsUWfCo9ouEJwk3f21d9chpBqFge") - ]; - }; - }; + xdg.portal = { + enable = true; + config = { + common = { + default = [ "gtk" ]; + }; + }; + extraPortals = with pkgs; [ xdg-desktop-portal-gtk ]; + }; - hardware = { - bluetooth = { - enable = true; - powerOnBoot = true; - }; - opentabletdriver.enable = true; - }; + fonts = { + enableDefaultPackages = true; + fontconfig = { + enable = true; + defaultFonts = { + emoji = [ "Twitter Color Emoji" "Noto Color Emoji" ]; + monospace = [ "Fira Code Light" ]; + }; + }; + packages = with pkgs; [ + fira-code + gohufont + nasin-nanpa + noto-fonts + noto-fonts-cjk-sans + noto-fonts-emoji + twemoji-color-font + ]; + }; - xdg.portal = { - enable = true; - config = { - common = { - default = [ "gtk" ]; - }; - }; - extraPortals = with pkgs; [ xdg-desktop-portal-gtk ]; - }; - - fonts = { - enableDefaultPackages = true; - fontconfig = { - enable = true; - defaultFonts = { - emoji = [ "Twitter Color Emoji" "Noto Color Emoji" ]; - monospace = [ "Fira Code Light" ]; - }; - }; - packages = with pkgs; [ - fira-code - gohufont - nasin-nanpa - noto-fonts - noto-fonts-cjk-sans - noto-fonts-emoji - twemoji-color-font - ]; - }; - - i18n.defaultLocale = "en_US.UTF-8"; - console = { - font = "gr928-8x16-thin"; # https://adeverteuil.github.io/linux-console-fonts-screenshots/ - keyMap = "us"; - }; - - virtualisation.docker.enable = true; + virtualisation.docker.enable = true; } diff --git a/nixos/hosts/ioides/configuration.nix b/nixos/hosts/ioides/configuration.nix index e4d2737..8600391 100644 --- a/nixos/hosts/ioides/configuration.nix +++ b/nixos/hosts/ioides/configuration.nix @@ -1,63 +1,66 @@ { config, lib, pkgs, ... }: { - imports = [ - ./hardware-configuration.nix - ../desktop.nix - ]; + imports = [ + ./hardware-configuration.nix + ../desktop.nix + ]; - boot.loader = { - efi = { - canTouchEfiVariables = false; - efiSysMountPoint = "/efi"; - }; - grub = { - enable = true; - efiSupport = true; - efiInstallAsRemovable = true; - devices = [ "nodev" ]; - }; - }; + boot = { + binfmt.emulatedSystems = [ "aarch64-linux" ]; + loader = { + efi = { + canTouchEfiVariables = false; + efiSysMountPoint = "/efi"; + }; + grub = { + enable = true; + efiSupport = true; + efiInstallAsRemovable = true; + devices = [ "nodev" ]; + }; + }; + }; - # Music pendrive - fileSystems."/mnt/world" = { - device = "/dev/disk/by-uuid/639bae80-0f5d-481c-ae4e-d2c70f754a1c"; - fsType = "ext4"; - neededForBoot = false; - }; - # Big fucking thing - fileSystems."/mnt/rae2" = { - device = "/dev/disk/by-uuid/fbbcc72f-34af-425c-9151-ef8919a6ae07"; - fsType = "ext4"; - neededForBoot = false; - }; + # Music pendrive + fileSystems."/mnt/world" = { + device = "/dev/disk/by-uuid/639bae80-0f5d-481c-ae4e-d2c70f754a1c"; + fsType = "ext4"; + neededForBoot = false; + }; + # Big fucking thing + fileSystems."/mnt/rae2" = { + device = "/dev/disk/by-uuid/fbbcc72f-34af-425c-9151-ef8919a6ae07"; + fsType = "ext4"; + neededForBoot = false; + }; - networking.hostName = "ioides"; + networking.hostName = "ioides"; - services = { - xserver.videoDrivers = [ "nvidia" ]; - }; - hardware = { - graphics = { - enable = true; - extraPackages = with pkgs; [ - intel-media-sdk - ]; - }; - nvidia = { - modesetting.enable = true; - powerManagement = { - enable = false; - finegrained = false; - }; - open = false; - nvidiaSettings = true; - package = config.boot.kernelPackages.nvidiaPackages.stable; - }; - }; - fonts.fontconfig.subpixel.rgba = "rgb"; + services = { + xserver.videoDrivers = [ "nvidia" ]; + }; + hardware = { + graphics = { + enable = true; + extraPackages = with pkgs; [ + intel-media-sdk + ]; + }; + nvidia = { + modesetting.enable = true; + powerManagement = { + enable = false; + finegrained = false; + }; + open = false; + nvidiaSettings = true; + package = config.boot.kernelPackages.nvidiaPackages.stable; + }; + }; + fonts.fontconfig.subpixel.rgba = "rgb"; - time.timeZone = "America/New_York"; - - system.stateVersion = "24.11"; + time.timeZone = "America/New_York"; + + system.stateVersion = "24.11"; } diff --git a/nixos/hosts/near/configuration.nix b/nixos/hosts/near/configuration.nix index 62f1921..679831f 100644 --- a/nixos/hosts/near/configuration.nix +++ b/nixos/hosts/near/configuration.nix @@ -3,6 +3,7 @@ inputs.raspberry-pi-nix.nixosModules.raspberry-pi inputs.raspberry-pi-nix.nixosModules.sd-image ./hardware-configuration.nix + ../base.nix ]; networking.hostName = "near";