Changing file structure to prepare for ISO
This commit is contained in:
parent
635a37bac0
commit
4122a52949
12 changed files with 37 additions and 22 deletions
131
specific/lyes-pc/configuration.nix
Normal file
131
specific/lyes-pc/configuration.nix
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
# Optimisation
|
||||
|
||||
# nixpkgs.hostPlatform = {
|
||||
# gcc.arch = "tigerlake";
|
||||
# gcc.tune = "tigerlake";
|
||||
# system = "x86_64-linux";
|
||||
# };
|
||||
|
||||
# nix.settings.system-features = [ "gccarch-tigerlake" "nixos-test" "benchmark" "big-parallel" "kvm" ];
|
||||
|
||||
# # Increasing the limit of files to help with compilation
|
||||
# security.pam.loginLimits = [{
|
||||
# domain = "*";
|
||||
# type = "soft";
|
||||
# item = "nofile";
|
||||
# value = "8192";
|
||||
# }];
|
||||
|
||||
# # Resources Limit
|
||||
# nix.settings = {
|
||||
# max-jobs = 7;
|
||||
# cores = 2;
|
||||
# };
|
||||
|
||||
# # OOM configuration
|
||||
# systemd = {
|
||||
# # Create a separate slice for nix-daemon that is
|
||||
# # memory-managed by the userspace systemd-oomd killer
|
||||
# slices."nix-daemon".sliceConfig = {
|
||||
# ManagedOOMMemoryPressure = "kill";
|
||||
# ManagedOOMMemoryPressureLimit = "50%";
|
||||
# };
|
||||
# services."nix-daemon".serviceConfig.Slice = "nix-daemon.slice";
|
||||
|
||||
# # If a kernel-level OOM event does occur anyway,
|
||||
# # strongly prefer killing nix-daemon child processes
|
||||
# services."nix-daemon".serviceConfig.OOMScoreAdjust = 1000;
|
||||
|
||||
# services."nix-daemon".serviceConfig.MemoryHigh = "16G";
|
||||
# services."nix-daemon".serviceConfig.MemoryMax = "20G";
|
||||
# };
|
||||
|
||||
# # Disabling failing test
|
||||
# nixpkgs.overlays = [ (final: prev: {
|
||||
# orc = prev.orc.overrideAttrs (_: { doCheck = false; });
|
||||
# gsl = prev.gsl.overrideAttrs (_: { doCheck = false; });
|
||||
# fprintd = prev.fprintd.overrideAttrs (super: {
|
||||
# # doCheck = false;
|
||||
# # buildInputs = super.buildInputs or [ ] ++ (with pkgs; [ libpam-wrapper (pkgs.python3.withPackages (python-pkgs: [ python-pkgs.pycairo python-pkgs.dbus-python python-pkgs.python-dbusmock ])) ]);
|
||||
# mesonCheckFlags = [
|
||||
# # PAM related checks are timing out
|
||||
# "--no-suite" "fprintd"
|
||||
# ];
|
||||
# });
|
||||
# # haskellPackages.crypton = pkgs.haskell.lib.overrideCabal prev.crypton (_: { doCheck = false; });
|
||||
# # haskellPackages.cryptonite = pkgs.haskell.lib.overrideCabal prev.cryptonite (_: { doCheck = false; });
|
||||
# }) ];
|
||||
|
||||
# nixpkgs.config.packageOverrides = pkgs: {
|
||||
# haskellPackages = pkgs.haskellPackages.override {
|
||||
# overrides = hsSelf: hsSuper: {
|
||||
# crypton = pkgs.haskell.lib.overrideCabal hsSuper.crypton (_: { doCheck = false; });
|
||||
# cryptonite = pkgs.haskell.lib.overrideCabal hsSuper.cryptonite (_: { doCheck = false; });
|
||||
# crypton-x509-validation = pkgs.haskell.lib.overrideCabal hsSuper.crypton-x509-validation (oa: { doCheck = false; });
|
||||
# tls = pkgs.haskell.lib.overrideCabal hsSuper.tls (oa: { doCheck = false; });
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
|
||||
# Boot
|
||||
boot.loader.systemd-boot.extraEntries = {
|
||||
"fedora.conf" = ''
|
||||
title Fedora
|
||||
efi /EFI/fedora/grubx64.efi
|
||||
'';
|
||||
};
|
||||
|
||||
# Filesystem
|
||||
fileSystems = {
|
||||
"/".options = [ "compress=zstd:1" ];
|
||||
"/home".options = [ "compress=zstd:1" ];
|
||||
"/nix".options = [ "compress=zstd:1" "noatime" ];
|
||||
};
|
||||
|
||||
# Networking
|
||||
networking.hostName = "lyes-pc";
|
||||
|
||||
# NVidia
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
};
|
||||
|
||||
hardware.nvidia = {
|
||||
# Modesetting is needed for most wayland compositors
|
||||
modesetting.enable = true;
|
||||
|
||||
# Use the open source version of the kernel module
|
||||
# Only available on driver 515.43.04+
|
||||
open = false;
|
||||
|
||||
# Enable the nvidia settings menu
|
||||
nvidiaSettings = true;
|
||||
|
||||
# Optionally, you may need to select the appropriate driver version for your specific GPU
|
||||
# package = config.boot.kernelPackages.nvidiaPackages.vulkan_beta;
|
||||
|
||||
prime = {
|
||||
offload = {
|
||||
enable = true;
|
||||
enableOffloadCmd = true;
|
||||
};
|
||||
|
||||
intelBusId = "PCI:0:2:0";
|
||||
nvidiaBusId = "PCI:1:0:0";
|
||||
};
|
||||
};
|
||||
|
||||
# For containers
|
||||
hardware.nvidia-container-toolkit.enable = true;
|
||||
}
|
||||
54
specific/lyes-pc/hardware-configuration.nix
Normal file
54
specific/lyes-pc/hardware-configuration.nix
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
# 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" "sd_mod" "sdhci_pci" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/2a1aab81-a8df-4781-8946-f00ac1d48db7";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=nixos_root" ];
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."luks-8d74423e-0529-46e3-87b9-b948c568a6c3".device = "/dev/disk/by-uuid/8d74423e-0529-46e3-87b9-b948c568a6c3";
|
||||
|
||||
fileSystems."/home" =
|
||||
{ device = "/dev/disk/by-uuid/2a1aab81-a8df-4781-8946-f00ac1d48db7";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=home" ];
|
||||
};
|
||||
|
||||
fileSystems."/nix" =
|
||||
{ device = "/dev/disk/by-uuid/2a1aab81-a8df-4781-8946-f00ac1d48db7";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=nixos_nix" ];
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/94CB-9035";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
# 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.wlp9s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
# high-resolution display
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue