add core configuration

This commit is contained in:
Chance 2025-03-29 21:03:07 -04:00 committed by lily
parent 74c78e1c68
commit f40517cff1
Signed by: lily
GPG key ID: 601F3263FBCBC4B9
94 changed files with 2816 additions and 959 deletions

View file

@ -0,0 +1,79 @@
# This is your system's configuration file.
# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix)
{...}: {
inputs,
outputs,
lib,
config,
pkgs,
flake-self,
...
}: {
# You can import other NixOS modules here
imports = [
# Or modules from other flakes (such as nixos-hardware):
# inputs.hardware.nixosModules.common-cpu-amd
# inputs.hardware.nixosModules.common-ssd
# inputs.home-manager.nixosModules.home-manager
# inputs.nix-gaming.nixosModules.platformOptimizations
# Import your generated (nixos-generate-config) hardware configuration
./hardware-configuration.nix
# ../common.nix
# ./plymouth.nix
];
lily = {
users.lily.enable = true;
laptop.enable = true;
common.enable = true;
containers = {
enable = true;
podman = true;
# docker = false;
};
nvidia.enable = true;
desktop = {
enable = true;
hyprland.enable = true;
plasma.enable = true;
};
};
networking.hostName = "nix";
boot = {
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
timeout = 0;
};
consoleLogLevel = 0;
initrd.verbose = false;
kernelPackages = pkgs.linuxPackages_lqx;
kernelParams = [
"quiet"
"splash"
];
};
programs = {
steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
platformOptimizations.enable = true;
localNetworkGameTransfers.openFirewall = true;
gamescopeSession.enable = true;
extraCompatPackages = let gamePkgs = inputs.nix-gaming.packages.${pkgs.hostPlatform.system}; in [pkgs.proton-ge-bin gamePkgs.northstar-proton];
};
};
home-manager = {
users = {
lily = flake-self.homeConfigurations.lily;
};
};
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
# system.stateVersion = "24.11";
}

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" "thunderbolt" "nvme" "usb_storage" "usbhid" "sd_mod" "rtsx_pci_sdmmc"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" = {
device = "/dev/disk/by-uuid/95c3ec11-8329-4b54-a690-97c31250a110";
fsType = "btrfs";
options = ["subvol=@"];
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/9666-823F";
fsType = "vfat";
options = ["fmask=0077" "dmask=0077"];
};
swapDevices = [
{device = "/dev/disk/by-uuid/5fd02c5b-4ce0-46be-8771-9c1b0d280d8d";}
];
# 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.wlp92s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

31
machines/nix/plymouth.nix Normal file
View file

@ -0,0 +1,31 @@
{pkgs, ...}: {
boot = {
plymouth = {
enable = true;
theme = "bgrt";
#themePackages = with pkgs; [
# By default we would install all themes
#(adi1090x-plymouth-themes.override {
# selected_themes = [ "bgrt" ];
#})
#];
};
# Enable "Silent Boot"
consoleLogLevel = 0;
initrd.verbose = false;
kernelParams = [
"quiet"
"splash"
"boot.shell_on_fail"
"loglevel=3"
"rd.systemd.show_status=false"
"rd.udev.log_level=3"
"udev.log_priority=3"
];
# Hide the OS choice for bootloaders.
# It's still possible to open the bootloader list by pressing any key
# It will just not appear on screen unless a key is pressed
loader.timeout = 0;
};
}