1
0
Fork 0
forked from autowolf/nix
This commit is contained in:
do butterflies cry? 2026-02-23 12:15:31 +10:00
parent 252814b193
commit eb74b94f02
4 changed files with 102 additions and 90 deletions

View file

@ -1,38 +1,40 @@
{ config, inputs, lib, pkgs, ... }:
let
nvidiaPackage = config.hardware.nvidia.package;
in
{ {
imports = config,
[ # Include the results of the hardware scan. inputs,
./hardware-configuration.nix lib,
]; pkgs,
...
}: let
nvidiaPackage = config.hardware.nvidia.package;
in {
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
];
# Allow unfree packages # Allow unfree packages
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
# Use the systemd-boot EFI boot loader. # Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
programs.silentSDDM = { programs.silentSDDM = {
enable = true; enable = true;
theme = "rei"; theme = "rei";
settings = { settings = {
"LoginScreen.LoginArea.Avatar" = { "LoginScreen.LoginArea.Avatar" = {
shape = "circle"; shape = "circle";
active-border-color = "#ffcfce"; active-border-color = "#ffcfce";
}; };
"LoginScreen" = { "LoginScreen" = {
background = "hana.jpg"; background = "hana.jpg";
}; };
"LockScreen" = { "LockScreen" = {
background = "kokomi96024.png"; background = "kokomi96024.png";
}; };
}; };
}; };
networking.hostName = "girlCore"; # Define your hostname. networking.hostName = "girlCore"; # Define your hostname.
# Configure network connections interactively with nmcli or nmtui. # Configure network connections interactively with nmcli or nmtui.
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
# Set your time zone. # Set your time zone.
@ -41,31 +43,31 @@ in
# networking.proxy.default = "http://user:password@proxy:port/"; # networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Select internationalisation properties. # Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";
console = { console = {
font = "Lat2-Terminus16"; font = "Lat2-Terminus16";
keyMap = "us"; keyMap = "us";
}; };
services.displayManager.sddm = { services.displayManager.sddm = {
enable = true; enable = true;
wayland.enable = true; wayland.enable = true;
}; };
services.displayManager.defaultSession = "hyprland"; services.displayManager.defaultSession = "hyprland";
programs.hyprland.enable = true; programs.hyprland.enable = true;
programs.hyprland.package = inputs.hyprland-git.packages."x86_64-linux".hyprland; programs.hyprland.package = inputs.hyprland-git.packages."x86_64-linux".hyprland;
programs.steam = { programs.steam = {
enable = true; enable = true;
remotePlay.openFirewall = true; # optional remotePlay.openFirewall = true; # optional
dedicatedServer.openFirewall = true; # optional dedicatedServer.openFirewall = true; # optional
localNetworkGameTransfers.openFirewall = true; # optional localNetworkGameTransfers.openFirewall = true; # optional
gamescopeSession.enable = true; # optional gamescopeSession.enable = true; # optional
}; };
# nvidia drivers # nvidia drivers
hardware.graphics.enable = true; hardware.graphics.enable = true;
hardware.graphics.enable32Bit = true; hardware.graphics.enable32Bit = true;
services.xserver.videoDrivers = lib.mkDefault [ "nvidia" ]; services.xserver.videoDrivers = lib.mkDefault ["nvidia"];
hardware.nvidia = { hardware.nvidia = {
modesetting.enable = true; modesetting.enable = true;
# Nvidia power management. Experimental, and can cause sleep/suspend to fail. # Nvidia power management. Experimental, and can cause sleep/suspend to fail.
@ -82,38 +84,38 @@ in
nvidiaSettings = true; nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable; package = config.boot.kernelPackages.nvidiaPackages.stable;
}; };
services.pipewire = { services.pipewire = {
enable = true; enable = true;
pulse.enable = true; pulse.enable = true;
}; };
# Enable touchpad support (enabled default in most desktopManager). # Enable touchpad support (enabled default in most desktopManager).
services.libinput.enable = true; services.libinput.enable = true;
# Define a user account. Don't forget to set a password with passwd. # Define a user account. Don't forget to set a password with passwd.
users.users.ashley = { users.users.ashley = {
isNormalUser = true; isNormalUser = true;
extraGroups = [ "wheel" ]; # Enable sudo for the user. extraGroups = ["wheel"]; # Enable sudo for the user.
packages = with pkgs; [ packages = with pkgs; [
tree tree
]; ];
}; };
# List packages installed in system profile. # List packages installed in system profile.
# You can use https://search.nixos.org/ to find more packages (and options). # You can use https://search.nixos.org/ to find more packages (and options).
nix.settings.experimental-features = [ "nix-command" "flakes" ]; nix.settings.experimental-features = ["nix-command" "flakes"];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
git git
neovim neovim
wget wget
]; ];
environment.variables.EDITOR = "nvim"; environment.variables.EDITOR = "nvim";
# Some programs need SUID wrappers, can be configured further or are # Some programs need SUID wrappers, can be configured further or are
# started in user sessions. # started in user sessions.
# List services that you want to enable: # List services that you want to enable:
# Enable the OpenSSH daemon. # Enable the OpenSSH daemon.
# Open ports in the firewall. # Open ports in the firewall.
networking.firewall.allowedTCPPorts = [ ]; networking.firewall.allowedTCPPorts = [];
networking.firewall.allowedUDPPorts = [ ]; networking.firewall.allowedUDPPorts = [];
networking.firewall.enable = true; networking.firewall.enable = true;
# This option defines the first version of NixOS you have installed on this particular machine, # 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. # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
# #

View file

@ -1,5 +1,5 @@
{ {
description = "NixOS configuration"; description = "NixOS configuration";
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
@ -15,17 +15,21 @@ description = "NixOS configuration";
silentSDDM = { silentSDDM = {
url = "github:uiriansan/SilentSDDM"; url = "github:uiriansan/SilentSDDM";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nixcats.url = "github:BirdeeHub/nixCats-nvim"; nixcats.url = "github:BirdeeHub/nixCats-nvim";
hyprland-git = { hyprland-git = {
url = "github:hyprwm/Hyprland/25250527793eb04bb60f103abe7f06370b9f6e1c"; url = "github:hyprwm/Hyprland/25250527793eb04bb60f103abe7f06370b9f6e1c";
}; };
}; };
outputs = inputs@{ nixpkgs, home-manager, nixcats, ... }: { outputs = inputs @ {
nixpkgs,
home-manager,
nixcats,
...
}: {
nixosConfigurations = { nixosConfigurations = {
girlCore = nixpkgs.lib.nixosSystem { girlCore = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs;}; specialArgs = {inherit inputs;};
@ -40,7 +44,7 @@ description = "NixOS configuration";
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit inputs; }; home-manager.extraSpecialArgs = {inherit inputs;};
home-manager.users.ashley = import ./home.nix; home-manager.users.ashley = import ./home.nix;

View file

@ -1,30 +1,34 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{ {
imports = config,
[ (modulesPath + "/installer/scan/not-detected.nix") lib,
]; pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "ahci" "usbhid" ]; boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "ahci" "usbhid"];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-uuid/10c61ccc-e175-4cfd-bd6a-08a57dbdb0b5"; device = "/dev/disk/by-uuid/10c61ccc-e175-4cfd-bd6a-08a57dbdb0b5";
fsType = "btrfs"; fsType = "btrfs";
}; };
fileSystems."/boot" = fileSystems."/boot" = {
{ device = "/dev/disk/by-uuid/24E3-BA29"; device = "/dev/disk/by-uuid/24E3-BA29";
fsType = "vfat"; fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ]; options = ["fmask=0077" "dmask=0077"];
}; };
swapDevices = [ ]; swapDevices = [];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;

View file

@ -1,5 +1,8 @@
{ inputs, pkgs, ... }:
{ {
inputs,
pkgs,
...
}: {
imports = [ imports = [
./modules/neovim/nixcats.nix ./modules/neovim/nixcats.nix
./modules/waybar/default.nix ./modules/waybar/default.nix
@ -39,4 +42,3 @@
home.stateVersion = "25.11"; home.stateVersion = "25.11";
} }