1
0
Fork 0
forked from autowolf/nix
flake-autowolf/configuration.nix

138 lines
4.7 KiB
Nix
Raw Normal View History

2026-02-22 19:59:14 -06:00
{
2026-02-23 12:15:31 +10:00
config,
inputs,
lib,
pkgs,
...
}: let
nvidiaPackage = config.hardware.nvidia.package;
in {
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
];
2026-02-22 19:59:14 -06:00
2026-02-23 12:15:31 +10:00
# Allow unfree packages
2026-02-22 19:59:14 -06:00
nixpkgs.config.allowUnfree = true;
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
programs.silentSDDM = {
2026-02-23 12:15:31 +10:00
enable = true;
theme = "rei";
settings = {
"LoginScreen.LoginArea.Avatar" = {
shape = "circle";
active-border-color = "#ffcfce";
};
"LoginScreen" = {
2026-02-22 19:59:14 -06:00
background = "hana.jpg";
2026-02-23 12:15:31 +10:00
};
"LockScreen" = {
2026-02-22 19:59:14 -06:00
background = "kokomi96024.png";
2026-02-23 12:15:31 +10:00
};
};
2026-02-22 19:59:14 -06:00
};
2026-02-23 12:15:31 +10:00
networking.hostName = "girlCore"; # Define your hostname.
2026-02-22 19:59:14 -06:00
# Configure network connections interactively with nmcli or nmtui.
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "America/Chicago";
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Select internationalisation properties.
2026-02-23 12:15:31 +10:00
i18n.defaultLocale = "en_US.UTF-8";
console = {
font = "Lat2-Terminus16";
keyMap = "us";
};
2026-02-22 19:59:14 -06:00
services.displayManager.sddm = {
2026-02-23 12:15:31 +10:00
enable = true;
2026-02-22 19:59:14 -06:00
wayland.enable = true;
2026-02-23 12:15:31 +10:00
};
2026-02-22 19:59:14 -06:00
services.displayManager.defaultSession = "hyprland";
programs.hyprland.enable = true;
programs.hyprland.package = inputs.hyprland-git.packages."x86_64-linux".hyprland;
2026-02-23 12:15:31 +10:00
programs.steam = {
enable = true;
remotePlay.openFirewall = true; # optional
dedicatedServer.openFirewall = true; # optional
localNetworkGameTransfers.openFirewall = true; # optional
gamescopeSession.enable = true; # optional
};
2026-02-22 19:59:14 -06:00
2026-02-23 12:15:31 +10:00
# nvidia drivers
2026-02-22 19:59:14 -06:00
hardware.graphics.enable = true;
hardware.graphics.enable32Bit = true;
2026-02-23 12:15:31 +10:00
services.xserver.videoDrivers = lib.mkDefault ["nvidia"];
2026-02-22 19:59:14 -06:00
hardware.nvidia = {
modesetting.enable = true;
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
# Enable this if you have graphical corruption issues or application crashes after waking
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
# of just the bare essentials.
powerManagement.enable = false;
powerManagement.finegrained = false;
# open = true;
open = lib.mkOverride 990 (nvidiaPackage ? open && nvidiaPackage ? firmware);
# Enable the Nvidia settings menu,
# accessible via `nvidia-settings`.
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
2026-02-23 12:15:31 +10:00
services.pipewire = {
enable = true;
pulse.enable = true;
};
2026-02-22 19:59:14 -06:00
# Enable touchpad support (enabled default in most desktopManager).
2026-02-23 12:15:31 +10:00
services.libinput.enable = true;
2026-02-22 19:59:14 -06:00
# Define a user account. Don't forget to set a password with passwd.
2026-02-23 12:15:31 +10:00
users.users.ashley = {
isNormalUser = true;
extraGroups = ["wheel"]; # Enable sudo for the user.
packages = with pkgs; [
tree
];
};
2026-02-22 19:59:14 -06:00
# List packages installed in system profile.
# You can use https://search.nixos.org/ to find more packages (and options).
2026-02-23 12:15:31 +10:00
nix.settings.experimental-features = ["nix-command" "flakes"];
environment.systemPackages = with pkgs; [
git
neovim
wget
2026-02-22 19:59:14 -06:00
];
2026-02-23 12:15:31 +10:00
environment.variables.EDITOR = "nvim";
2026-02-22 19:59:14 -06:00
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# List services that you want to enable:
# Enable the OpenSSH daemon.
# Open ports in the firewall.
2026-02-23 12:15:31 +10:00
networking.firewall.allowedTCPPorts = [];
networking.firewall.allowedUDPPorts = [];
networking.firewall.enable = true;
2026-02-22 19:59:14 -06:00
# This option defines the first version of NixOS you have installed on this particular machine,
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
#
# Most users should NEVER change this value after the initial install, for any reason,
# even if you've upgraded your system to a new NixOS release.
#
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
# so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
# to actually do that.
#
# This value being lower than the current NixOS release does NOT mean your system is
# out of date, out of support, or vulnerable.
#
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
# and migrated your data accordingly.
#
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
system.stateVersion = "25.11"; # Did you read the comment?
}