feat(flake): use flake-parts
This commit is contained in:
parent
611584a0be
commit
e2a0172e2d
14 changed files with 576 additions and 489 deletions
|
|
@ -31,14 +31,27 @@
|
|||
home-manager.users.moritz.home.packages = with pkgs; [
|
||||
jetbrains.idea-community
|
||||
];
|
||||
hardware = {
|
||||
keyboard.qmk.enable = true;
|
||||
nvidia.modesetting.enable = true;
|
||||
opengl = {
|
||||
enable = true;
|
||||
driSupport32Bit = true;
|
||||
driSupport = true;
|
||||
};
|
||||
|
||||
hardware.keyboard.qmk.enable = true;
|
||||
# sensors
|
||||
enableAllFirmware = true;
|
||||
|
||||
# KERNEL
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
bluetooth.enable = true;
|
||||
};
|
||||
|
||||
# BOOT
|
||||
boot = {
|
||||
# KERNEL
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
||||
# BOOT
|
||||
|
||||
supportedFilesystems = [ "btrfs" "ntfs" ];
|
||||
loader = {
|
||||
grub = {
|
||||
|
|
@ -49,6 +62,8 @@
|
|||
};
|
||||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
|
||||
kernelModules = [ "lm92" "drivetemp" ];
|
||||
};
|
||||
|
||||
# NETWORKING
|
||||
|
|
@ -73,33 +88,23 @@
|
|||
};
|
||||
networkmanager.enable = true;
|
||||
};
|
||||
hardware.nvidia.modesetting.enable = true;
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
driSupport32Bit = true;
|
||||
driSupport = true;
|
||||
services = {
|
||||
xserver.videoDrivers = [ "nvidia" ];
|
||||
xserver.xrandrHeads = [
|
||||
{ output = "HDMI-1"; }
|
||||
{
|
||||
output = "HDMI-0";
|
||||
primary = true;
|
||||
}
|
||||
];
|
||||
|
||||
# Powersaving
|
||||
tlp.enable = true;
|
||||
};
|
||||
services.xserver.xrandrHeads = [
|
||||
{ output = "HDMI-1"; }
|
||||
{
|
||||
output = "HDMI-0";
|
||||
primary = true;
|
||||
}
|
||||
];
|
||||
|
||||
console.keyMap = "de";
|
||||
|
||||
# Powersaving
|
||||
services.tlp.enable = true;
|
||||
powerManagement.enable = true;
|
||||
|
||||
# sensors
|
||||
hardware.enableAllFirmware = true;
|
||||
environment.systemPackages = with pkgs; [ lm_sensors ];
|
||||
boot.kernelModules = [ "lm92" "drivetemp" ];
|
||||
|
||||
hardware.bluetooth.enable = true;
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
|
|
|
|||
|
|
@ -7,51 +7,56 @@
|
|||
, ...
|
||||
}: {
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/668a49b3-d169-461f-861d-0c3e6a1642d1";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=root" "compress=zstd" ];
|
||||
boot = {
|
||||
initrd = {
|
||||
availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
|
||||
kernelModules = [ ];
|
||||
luks.devices."enc".device = "/dev/disk/by-uuid/30025a9f-44cf-4074-8ae2-d4925efd67dd";
|
||||
};
|
||||
kernelModules = [ "kvm-amd" ];
|
||||
extraModulePackages = [ ];
|
||||
};
|
||||
fileSystems = {
|
||||
"/" = {
|
||||
device = "/dev/disk/by-uuid/668a49b3-d169-461f-861d-0c3e6a1642d1";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=root" "compress=zstd" ];
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."enc".device = "/dev/disk/by-uuid/30025a9f-44cf-4074-8ae2-d4925efd67dd";
|
||||
"/home" = {
|
||||
device = "/dev/disk/by-uuid/668a49b3-d169-461f-861d-0c3e6a1642d1";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=home" "compress=zstd" ];
|
||||
};
|
||||
|
||||
fileSystems."/home" = {
|
||||
device = "/dev/disk/by-uuid/668a49b3-d169-461f-861d-0c3e6a1642d1";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=home" "compress=zstd" ];
|
||||
};
|
||||
"/nix" = {
|
||||
device = "/dev/disk/by-uuid/668a49b3-d169-461f-861d-0c3e6a1642d1";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=nix" "compress=zstd" ];
|
||||
};
|
||||
|
||||
fileSystems."/nix" = {
|
||||
device = "/dev/disk/by-uuid/668a49b3-d169-461f-861d-0c3e6a1642d1";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=nix" "compress=zstd" ];
|
||||
};
|
||||
"/var/log" = {
|
||||
device = "/dev/disk/by-uuid/668a49b3-d169-461f-861d-0c3e6a1642d1";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=log" "compress=zstd" ];
|
||||
neededForBoot = true;
|
||||
};
|
||||
|
||||
fileSystems."/var/log" = {
|
||||
device = "/dev/disk/by-uuid/668a49b3-d169-461f-861d-0c3e6a1642d1";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=log" "compress=zstd" ];
|
||||
neededForBoot = true;
|
||||
};
|
||||
"/boot" = {
|
||||
device = "/dev/disk/by-uuid/297B-C04C";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/297B-C04C";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
fileSystems."/media/games" = {
|
||||
device = "/dev/disk/by-uuid/8f92ff36-a685-4a67-a3d4-55136dc5f286";
|
||||
fsType = "ext4";
|
||||
"/media/games" = {
|
||||
device = "/dev/disk/by-uuid/8f92ff36-a685-4a67-a3d4-55136dc5f286";
|
||||
fsType = "ext4";
|
||||
};
|
||||
};
|
||||
|
||||
swapDevices = [{ device = "/dev/disk/by-uuid/00ad6f74-f23e-4ac0-abfb-89bdfe5ab8ae"; }];
|
||||
|
||||
hardware.cpu.amd.updateMicrocode =
|
||||
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
"x86_64-linux"
|
||||
|
|
@ -74,54 +74,56 @@
|
|||
services.tlp.enable = true;
|
||||
powerManagement.enable = true;
|
||||
|
||||
# Hibernare on low battery
|
||||
systemd.timers.hibernate-on-low-battery = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
timerConfig = {
|
||||
OnUnitActiveSec = "120";
|
||||
OnBootSec = "120";
|
||||
systemd = {
|
||||
# Hibernare on low battery
|
||||
timers.hibernate-on-low-battery = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
timerConfig = {
|
||||
OnUnitActiveSec = "120";
|
||||
OnBootSec = "120";
|
||||
};
|
||||
};
|
||||
services.hibernate-on-low-battery =
|
||||
let
|
||||
batteryLevelSufficient =
|
||||
let
|
||||
batteryPath = "/sys/class/power_supply/BATT";
|
||||
in
|
||||
pkgs.writeShellScriptBin "battery-level-sufficient" ''
|
||||
test "$(cat ${batteryPath}/status)" != Discharging \
|
||||
|| test "$(cat ${batteryPath}/capacity)" -ge 5
|
||||
'';
|
||||
in
|
||||
{
|
||||
serviceConfig.Type = "oneshot";
|
||||
onFailure = [ "hibernate.target" ];
|
||||
script = "${batteryLevelSufficient}/bin/battery-level-sufficient";
|
||||
};
|
||||
services.asus-touchpad-numpad = {
|
||||
description = "Activate Numpad inside the touchpad with top right corner switch";
|
||||
documentation = [ "https://github.com/mohamed-badaoui/asus-touchpad-numpad-driver" ];
|
||||
path = [ pkgs.i2c-tools ];
|
||||
script = ''
|
||||
cd ${inputs.asus-touchpad-numpad-driver}
|
||||
# In the last argument here you choose your layout.
|
||||
${
|
||||
pkgs.python3.withPackages (ps: [ps.libevdev])
|
||||
}/bin/python asus_touchpad.py m433ia
|
||||
'';
|
||||
# Probably needed because it fails on boot seemingly because the driver
|
||||
# is not ready yet. Alternativly, you can use `sleep 3` or similar in the
|
||||
# `script`.
|
||||
serviceConfig = {
|
||||
RestartSec = "1s";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
};
|
||||
};
|
||||
systemd.services.hibernate-on-low-battery =
|
||||
let
|
||||
batteryLevelSufficient =
|
||||
let
|
||||
batteryPath = "/sys/class/power_supply/BATT";
|
||||
in
|
||||
pkgs.writeShellScriptBin "battery-level-sufficient" ''
|
||||
test "$(cat ${batteryPath}/status)" != Discharging \
|
||||
|| test "$(cat ${batteryPath}/capacity)" -ge 5
|
||||
'';
|
||||
in
|
||||
{
|
||||
serviceConfig.Type = "oneshot";
|
||||
onFailure = [ "hibernate.target" ];
|
||||
script = "${batteryLevelSufficient}/bin/battery-level-sufficient";
|
||||
};
|
||||
|
||||
# Trackpad
|
||||
# i2c for https://github.com/mohamed-badaoui/asus-touchpad-numpad-driver
|
||||
hardware.i2c.enable = true;
|
||||
systemd.services.asus-touchpad-numpad = {
|
||||
description = "Activate Numpad inside the touchpad with top right corner switch";
|
||||
documentation = [ "https://github.com/mohamed-badaoui/asus-touchpad-numpad-driver" ];
|
||||
path = [ pkgs.i2c-tools ];
|
||||
script = ''
|
||||
cd ${inputs.asus-touchpad-numpad-driver}
|
||||
# In the last argument here you choose your layout.
|
||||
${
|
||||
pkgs.python3.withPackages (ps: [ps.libevdev])
|
||||
}/bin/python asus_touchpad.py m433ia
|
||||
'';
|
||||
# Probably needed because it fails on boot seemingly because the driver
|
||||
# is not ready yet. Alternativly, you can use `sleep 3` or similar in the
|
||||
# `script`.
|
||||
serviceConfig = {
|
||||
RestartSec = "1s";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
};
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
|
|
|
|||
|
|
@ -2,12 +2,16 @@
|
|||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ modulesPath
|
||||
, lib
|
||||
, ...
|
||||
}: {
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
boot = {
|
||||
initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "rtsx_pci_sdmmc" ];
|
||||
initrd.kernelModules = [ ];
|
||||
kernelModules = [ "kvm-amd" ];
|
||||
extraModulePackages = [ ];
|
||||
};
|
||||
|
||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "rtsx_pci_sdmmc" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
"x86_64-linux"
|
||||
|
|
@ -21,12 +21,18 @@
|
|||
services.synology-drive.enable = true;
|
||||
programs.hyprland.keyboardLayouts = [ "us" "de" ];
|
||||
};
|
||||
boot = {
|
||||
loader = {
|
||||
grub = {
|
||||
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
boot.loader.grub.enable = true;
|
||||
boot.loader.grub.device = "nodev";
|
||||
boot.loader.grub.efiSupport = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
enable = true;
|
||||
device = "nodev";
|
||||
efiSupport = true;
|
||||
};
|
||||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
};
|
||||
|
||||
networking.hostName = "scadspc25"; # Define your hostname.
|
||||
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
||||
|
|
@ -53,4 +59,3 @@
|
|||
system.stateVersion = "23.05"; # Did you read the comment?
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8,52 +8,55 @@
|
|||
[
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
boot = {
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" "sr_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" "sr_mod" ];
|
||||
initrd.kernelModules = [ ];
|
||||
kernelModules = [ "kvm-intel" ];
|
||||
extraModulePackages = [ ];
|
||||
};
|
||||
fileSystems = {
|
||||
"/" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/cfc2d232-f833-4ecf-8098-fe805afd390d";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=root" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
fileSystems."/" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/cfc2d232-f833-4ecf-8098-fe805afd390d";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=root" "compress=zstd" "noatime" ];
|
||||
};
|
||||
"/home" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/cfc2d232-f833-4ecf-8098-fe805afd390d";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=home" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
fileSystems."/home" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/cfc2d232-f833-4ecf-8098-fe805afd390d";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=home" "compress=zstd" "noatime" ];
|
||||
};
|
||||
"/nix" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/cfc2d232-f833-4ecf-8098-fe805afd390d";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=nix" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
fileSystems."/nix" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/cfc2d232-f833-4ecf-8098-fe805afd390d";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=nix" "compress=zstd" "noatime" ];
|
||||
};
|
||||
"/var/log" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/cfc2d232-f833-4ecf-8098-fe805afd390d";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=log" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
fileSystems."/var/log" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/cfc2d232-f833-4ecf-8098-fe805afd390d";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=log" "compress=zstd" "noatime" ];
|
||||
};
|
||||
"/snapshots" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/cfc2d232-f833-4ecf-8098-fe805afd390d";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=snapshots" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
fileSystems."/snapshots" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/cfc2d232-f833-4ecf-8098-fe805afd390d";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=snapshots" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/3B2B-63DB";
|
||||
fsType = "vfat";
|
||||
};
|
||||
"/boot" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/3B2B-63DB";
|
||||
fsType = "vfat";
|
||||
};
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[{ device = "/dev/disk/by-uuid/c08ff6b6-d6e2-4620-95fc-6c20b04c7363"; }];
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
"x86_64-linux"
|
||||
Loading…
Add table
Add a link
Reference in a new issue