Merge branch 'main' of github.com:FabricSoul/nixos-configs

This commit is contained in:
FabricSoul 2025-08-12 14:43:14 -04:00
commit 5414520b55
26 changed files with 1046 additions and 205 deletions

View file

@ -22,11 +22,12 @@
environment.systemPackages = with pkgs; [
vim
git
greetd.greetd
greetd.tuigreet
greetd
tuigreet
zsh
home-manager
findutils
pulseaudio
];
# Enable the OpenSSH daemon
@ -37,7 +38,7 @@
enable = true;
settings = {
default_session = {
command = "''${pkgs.greetd.tuigreet}/bin/tuigreet --time ";
command = "''${pkgs.tuigreet}/bin/tuigreet --time";
user = "fabric";
};
};
@ -51,4 +52,12 @@
# This value determines the NixOS release version
system.stateVersion = "25.05";
security.rtkit.enable = true;
services.pulseaudio.enable = false;
services.pipewire = {
enable = true;
alsa.enable = true;
pulse.enable = true;
};
}

View file

@ -0,0 +1,32 @@
{...}: {
services.tlp = {
enable = true;
settings = {
CPU_SCALING_GOVERNOR_ON_AC = "performance";
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
CPU_MIN_PERF_ON_AC = 0;
CPU_MAX_PERF_ON_AC = 100;
CPU_MIN_PERF_ON_BAT = 0;
CPU_MAX_PERF_ON_BAT = 20;
# Optional helps save long term battery health
START_CHARGE_THRESH_BAT0 = 40; # 40 and bellow it starts to charge
STOP_CHARGE_THRESH_BAT0 = 80; # 80 and above it stops charging
};
};
# services.auto-cpufreq.enable = true;
# services.auto-cpufreq.settings = {
# battery = {
# governor = "powersave";
# turbo = "never";
# };
# charger = {
# governor = "performance";
# turbo = "auto";
# };
# };
}

View file

@ -0,0 +1,11 @@
{...}: {
services.kmonad = {
enable = true;
keyboards = {
myKMonadOutput = {
device = "/dev/input/event0";
config = builtins.readFile ../../../files/keyboard.kbd;
};
};
};
}

74
hosts/solaris/default.nix Normal file
View file

@ -0,0 +1,74 @@
# hosts/solaris/default.nix
{
config,
lib,
pkgs,
...
}: {
imports = [
# Hardware configuration
./hardware-configuration.nix
# Common configurations
../common/global
../common/optional/fcitx5.nix
../common/optional/bluetooth.nix
../common/optional/kmonad.nix
../common/optional/auto-cpufreq.nix
];
# Bootloader
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.supportedFilesystems = ["nfs"];
# Networking
networking = {
hostName = "solaris";
networkmanager.enable = true;
useDHCP = lib.mkDefault true;
};
# User configuration
users.users.fabric = {
isNormalUser = true;
description = "fabric";
extraGroups = ["networkmanager" "wheel" "video"];
shell = pkgs.zsh;
};
services.rpcbind.enable = true;
fileSystems."/home/fabric/nas" = {
device = "tatara:/nas";
fsType = "nfs";
options = [
"x-systemd.automount"
"noauto"
"x-systemd.idle-timeout=60"
"x-systemd.device-timeout=5"
"x-systemd.mount-timeout=5"
"nfsvers=4" # Use NFSv4
"hard" # Hard mount (recommended)
"intr" # Allow interruption
"rsize=8192" # Read size
"wsize=8192" # Write size
];
};
# Display manager configuration
services.displayManager.defaultSession = "dwl";
# Basic system packages
environment.systemPackages = with pkgs; [
libinput
libnotify
foot
usbutils
ntfs3g
powertop
];
powerManagement.powertop.enable = true;
}

View file

@ -0,0 +1,45 @@
# 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" "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "sdhci_pci"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["acpi_cpufreq"];
boot.extraModulePackages = [];
fileSystems."/" = {
device = "/dev/disk/by-uuid/cd452eaf-7765-4bc2-b5dd-a846c47701e8";
fsType = "ext4";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/6026-C63E";
fsType = "vfat";
options = ["fmask=0077" "dmask=0077"];
};
swapDevices = [
{device = "/dev/disk/by-uuid/1cc175bd-0071-4d76-a8a6-ae483ca56aac";}
];
# 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.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp0s25.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -10,12 +10,12 @@
./hardware-configuration.nix
# Common configurations
../common/optional/plasma.nix
# ../common/optional/plasma.nix
../common/global
../common/optional/nvidia.nix
../common/optional/docker.nix
../common/optional/steam.nix
../common/optional/flatpak.nix
# ../common/optional/flatpak.nix
../common/optional/fcitx5.nix
../common/optional/bluetooth.nix
../common/optional/sunshine.nix
@ -37,7 +37,7 @@
users.users.fabric = {
isNormalUser = true;
description = "fabric";
extraGroups = ["networkmanager" "wheel" "docker"];
extraGroups = ["networkmanager" "wheel" "docker" "video"];
shell = pkgs.zsh;
};
@ -68,9 +68,7 @@
};
# Display manager configuration
services.displayManager.defaultSession = "hyprland";
programs.hyprland.enable = true;
services.displayManager.defaultSession = "dwl";
# Basic system packages
environment.systemPackages = with pkgs; [

View file

@ -14,7 +14,11 @@
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "thunderbolt" "usb_storage" "usbhid" "sd_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-amd"];
boot.kernelModules = ["kvm-amd" "v4l2loopback"];
boot.extraModulePackages = with config.boot.kernelPackages; [
v4l2loopback
];
hardware.enableRedistributableFirmware = true;