First working version of NixOS intall

This commit is contained in:
Yorick Barbanneau 2023-07-23 01:18:29 +02:00
commit 5ab67429b2
47 changed files with 1801 additions and 0 deletions

View file

@ -0,0 +1,72 @@
{ config, pkgs, lib, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
../../common/locales.nix
../../common/flakes.nix
../../common/user.nix
../../modules/nixos/pipewire.nix
../../modules/nixos/steam.nix
../../modules/nixos/xdg-portal.nix
../../modules/nixos/doas.nix
];
nixpkgs.config.allowUnfree = true;
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.kernelPackages = pkgs.linuxPackages_latest;
#CPU
hardware.cpu.amd.updateMicrocode = true;
# GPU
hardware.opengl.driSupport = true;
hardware.opengl.driSupport32Bit = true;
# Bluetooth
hardware.bluetooth.enable = true;
hardware.xpadneo.enable = true;
networking.hostName = "mrmeeseeks";
console = {
earlySetup = true;
font = "${pkgs.terminus_font}/share/consolefonts/ter-132n.psf.gz";
packages = with pkgs; [terminus_font];
# keyMap = "us";
useXkbConfig = true; # use xkbOptions in tty.
};
security.rtkit.enable = true;
security.pam.services.swaylock = {};
environment.systemPackages = with pkgs; [
git
zsh
lvm2_dmeventd
];
services.lvm.enable = true;
services.lvm.dmeventd.enable = true;
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.ephase = {
home.stateVersion = "23.05";
programs.home-manager.enable = true;
imports = [
../../modules/home/desktop
../../modules/home/cli
../../modules/home/firefox
../../modules/home/foot.nix
../../modules/home/lutris.nix
../../modules/home/zathura.nix
];
};
};
system.stateVersion = "23.05";
}

View file

@ -0,0 +1,67 @@
# 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 = [
"nvme"
"xhci_pci"
"ahci"
"usbhid"
"usb_storage"
"sd_mod"
"amdgpu"
];
boot.initrd.kernelModules = [
"dm-cache-default"
];
boot.kernelModules = [
"kvm-amd"
"amdgpu"
];
boot.extraModulePackages = [ ];
boot.initrd.luks.devices."nixos".device = "/dev/disk/by-uuid/ea7fa60d-35e5-48b8-95d7-142f37b262cd";
boot.initrd.luks.devices."nixos".preLVM = true;
fileSystems."/" =
{ device = "/dev/disk/by-uuid/9d1e5022-0265-4ce7-824e-282ee550d52d";
fsType = "btrfs";
options = [ "subvol=@root" ];
};
fileSystems."/home" =
{ device = "/dev/disk/by-uuid/9d1e5022-0265-4ce7-824e-282ee550d52d";
fsType = "btrfs";
options = [ "subvol=@home" ];
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/F027-F53F";
fsType = "vfat";
};
fileSystems."/mnt/gamelib" =
{ device = "/dev/mapper/tank-gamelib";
fsType = "ext4";
};
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.enp34s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp37s0.useDHCP = lib.mkDefault true;
services.lvm.boot.thin.enable = true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}