Do some formatting and sorting
This commit is contained in:
parent
05440c39a2
commit
f3eeba5b53
48
flake.nix
48
flake.nix
|
@ -2,23 +2,8 @@
|
||||||
description = "Malte Tammena's system configuration";
|
description = "Malte Tammena's system configuration";
|
||||||
|
|
||||||
inputs.nixpkgs = { url = "github:NixOS/nixpkgs/nixos-unstable"; };
|
inputs.nixpkgs = { url = "github:NixOS/nixpkgs/nixos-unstable"; };
|
||||||
inputs.nixos-hardware = {
|
inputs.nixos-hardware = { url = "github:NixOS/nixos-hardware"; };
|
||||||
url = "github:NixOS/nixos-hardware";
|
inputs.home-manager = { url = "github:nix-community/home-manager"; };
|
||||||
};
|
|
||||||
inputs.home-manager = {
|
|
||||||
url = "github:nix-community/home-manager/";
|
|
||||||
};
|
|
||||||
#inputs.nixpkgs-wayland = {
|
|
||||||
# url = "github:colemickens/nixpkgs-wayland";
|
|
||||||
#};
|
|
||||||
#inputs.sway = {
|
|
||||||
# url = "github:swaywm/sway";
|
|
||||||
# flake = false;
|
|
||||||
#};
|
|
||||||
#inputs.libglvnd = {
|
|
||||||
# url = "github:NVIDIA/libglvnd";
|
|
||||||
# flake = false;
|
|
||||||
#};
|
|
||||||
|
|
||||||
outputs = { self, nixpkgs, nixos-hardware, home-manager, ... }@inputs:
|
outputs = { self, nixpkgs, nixos-hardware, home-manager, ... }@inputs:
|
||||||
let
|
let
|
||||||
|
@ -34,30 +19,8 @@
|
||||||
nixos-hardware.nixosModules.common-pc-laptop
|
nixos-hardware.nixosModules.common-pc-laptop
|
||||||
nixos-hardware.nixosModules.common-pc-laptop-ssd
|
nixos-hardware.nixosModules.common-pc-laptop-ssd
|
||||||
nixos-hardware.nixosModules.common-pc-laptop-acpi_call
|
nixos-hardware.nixosModules.common-pc-laptop-acpi_call
|
||||||
./system/hardware-configuration.nix
|
./system/lenovo-thinkpad-p1.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware.nvidia.prime = {
|
|
||||||
offload.enable = true;
|
|
||||||
nvidiaBusId = "PCI:1:0:0";
|
|
||||||
intelBusId = "PCI:0:2:0";
|
|
||||||
};
|
|
||||||
hardware.enableRedistributableFirmware = true;
|
|
||||||
services.xserver.videoDrivers = [ "nvidia" ];
|
|
||||||
#hardware.opengl.extraPackages = with pkgs; [
|
|
||||||
# vaapiVdpau
|
|
||||||
# libvdpau-va-gl
|
|
||||||
#];
|
|
||||||
#hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [
|
|
||||||
# vaapiVdpau
|
|
||||||
# libvdpau-va-gl
|
|
||||||
#];
|
|
||||||
hardware.trackpoint.enable = lib.mkDefault true;
|
|
||||||
hardware.trackpoint.emulateWheel =
|
|
||||||
lib.mkDefault config.hardware.trackpoint.enable;
|
|
||||||
|
|
||||||
# Fingerprint reader: login and unlock with fingerprint (if you add one with `fprintd-enroll`)
|
|
||||||
services.fprintd.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
homeManagerConfigurations."${username}" =
|
homeManagerConfigurations."${username}" =
|
||||||
|
@ -93,7 +56,10 @@
|
||||||
nixpkgs.lib.mkIf (self ? rev) self.rev;
|
nixpkgs.lib.mkIf (self ? rev) self.rev;
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
services.dbus.packages = [ pkgs.gnome3.dconf ];
|
nix.package = pkgs.nixUnstable;
|
||||||
|
nix.extraOptions = ''
|
||||||
|
experimental-features = nix-command flakes
|
||||||
|
'';
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
@ -14,23 +14,23 @@ let
|
||||||
wf-recorder = "${pkgs.wf-recorder}/bin/wf-recorder";
|
wf-recorder = "${pkgs.wf-recorder}/bin/wf-recorder";
|
||||||
slurp = "${pkgs.slurp}/bin/slurp -db '#000000AA' -c '#EBDBB2' -w1";
|
slurp = "${pkgs.slurp}/bin/slurp -db '#000000AA' -c '#EBDBB2' -w1";
|
||||||
fuser = "${pkgs.psmisc}/bin/fuser";
|
fuser = "${pkgs.psmisc}/bin/fuser";
|
||||||
|
|
||||||
screenshot-path = "/home/malte/Pictures/screenshots/screenshot.png";
|
screenshot-path = "/home/malte/Pictures/screenshots/screenshot.png";
|
||||||
screencast-path = "/home/malte/Videos/screencasts/screencast.mp4";
|
screenshot-all =
|
||||||
|
"${grim} ${screenshot-path} && ${wl-copy} < ${screenshot-path}";
|
||||||
screenshot-all = ''
|
|
||||||
${grim} ${screenshot-path} && ${wl-copy} < ${screenshot-path}'';
|
|
||||||
|
|
||||||
screenshot-region = ''
|
screenshot-region = ''
|
||||||
${grim} -g "$(${slurp})" ${screenshot-path} && ${wl-copy} < ${screenshot-path}'';
|
${grim} -g "$(${slurp})" ${screenshot-path} && ${wl-copy} < ${screenshot-path}'';
|
||||||
|
|
||||||
screencast-all = ''${wf-recorder} -a -f ${screencast-path}'';
|
screencast-path = "/home/malte/Videos/screencasts/screencast.mp4";
|
||||||
|
screencast-all = "${wf-recorder} -a -f ${screencast-path}";
|
||||||
screencast-region = ''${wf-recorder} -a -g "$$(${slurp})" -f ${screencast-path}'';
|
screencast-region =
|
||||||
|
''${wf-recorder} -a -g "$$(${slurp})" -f ${screencast-path}'';
|
||||||
screencast-stop = ''killall -s SIGINT wf-recorder && ${wl-copy} < ${screencast-path}'';
|
screencast-stop =
|
||||||
|
"killall -s SIGINT wf-recorder && ${wl-copy} < ${screencast-path}";
|
||||||
|
|
||||||
in {
|
in {
|
||||||
imports = [ ./gammastep.nix ./waybar.nix ./gtk.nix ./qt.nix ./pass.nix ./mako.nix ];
|
imports =
|
||||||
|
[ ./gammastep.nix ./waybar.nix ./gtk.nix ./qt.nix ./pass.nix ./mako.nix ];
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
|
||||||
|
@ -76,14 +76,18 @@ in {
|
||||||
border = 2;
|
border = 2;
|
||||||
titlebar = true;
|
titlebar = true;
|
||||||
|
|
||||||
commands = [{
|
commands = [
|
||||||
|
{
|
||||||
command = ''
|
command = ''
|
||||||
title_format "[<span foreground='${col_red}'><b>X</b></span>] %title"'';
|
title_format "[<span foreground='${col_red}'><b>X</b></span>] %title"'';
|
||||||
criteria = { shell = "xwayland"; };
|
criteria = { shell = "xwayland"; };
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
command = "kill";
|
command = "kill";
|
||||||
criteria = { app_id = "firefox"; title = "Firefox — Sharing Indicator"; };
|
criteria = {
|
||||||
|
app_id = "firefox";
|
||||||
|
title = "Firefox — Sharing Indicator";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
@ -91,14 +95,9 @@ in {
|
||||||
bars = [{
|
bars = [{
|
||||||
command = "${pkgs.waybar}/bin/waybar";
|
command = "${pkgs.waybar}/bin/waybar";
|
||||||
position = "top";
|
position = "top";
|
||||||
|
|
||||||
}];
|
}];
|
||||||
|
|
||||||
seat = {
|
seat = { "*" = { xcursor_theme = "Numix-Cursor-Light 48"; }; };
|
||||||
"*" = {
|
|
||||||
xcursor_theme = "Numix-Cursor-Light 48";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
keybindings = let
|
keybindings = let
|
||||||
mod = config.wayland.windowManager.sway.config.modifier;
|
mod = config.wayland.windowManager.sway.config.modifier;
|
||||||
|
@ -127,7 +126,8 @@ in {
|
||||||
"XF86AudioLowerVolume" =
|
"XF86AudioLowerVolume" =
|
||||||
"exec ${pkgs.ponymix}/bin/ponymix decrease 5%";
|
"exec ${pkgs.ponymix}/bin/ponymix decrease 5%";
|
||||||
"XF86AudioMute" = "exec ${pkgs.ponymix}/bin/ponymix toggle";
|
"XF86AudioMute" = "exec ${pkgs.ponymix}/bin/ponymix toggle";
|
||||||
"XF86AudioMicMute" = "exec ${pkgs.ponymix}/bin/ponymix --input toggle";
|
"XF86AudioMicMute" =
|
||||||
|
"exec ${pkgs.ponymix}/bin/ponymix --input toggle";
|
||||||
# Additional menus
|
# Additional menus
|
||||||
"${mod}+p" = "exec passmenu-bemenu";
|
"${mod}+p" = "exec passmenu-bemenu";
|
||||||
# Screenshots
|
# Screenshots
|
||||||
|
@ -150,12 +150,11 @@ in {
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
names = [ "pango:FiraCode Nerd Font" ];
|
names = [ "pango:FiraCode Nerd Font" ];
|
||||||
size = 9.0;
|
size = 8.0;
|
||||||
};
|
};
|
||||||
|
|
||||||
modes = let
|
modes = let mod = config.wayland.windowManager.sway.config.modifier;
|
||||||
mod = config.wayland.windowManager.sway.config.modifier;
|
in lib.mkOptionDefault {
|
||||||
in {
|
|
||||||
recording = {
|
recording = {
|
||||||
"${mod}+Escape" = "exec ${screencast-stop}; mode default";
|
"${mod}+Escape" = "exec ${screencast-stop}; mode default";
|
||||||
};
|
};
|
||||||
|
@ -224,6 +223,10 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
# If running from tty1 start sway
|
# If running from tty1 start sway
|
||||||
config.xdg.configFile."fish/conf.d/sway.fish".text =
|
config.xdg.configFile."fish/conf.d/sway.fish".text = ''
|
||||||
"\n set TTY1 (tty)\n if test -z \"$DISPLAY\"; and test $TTY1 = '/dev/tty1'\n systemd-cat -t sway sway\n end\n ";
|
set TTY1 (tty)
|
||||||
|
if test -z \"$DISPLAY\"; and test $TTY1 = '/dev/tty1'
|
||||||
|
systemd-cat -t sway sway
|
||||||
|
end
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,45 +1,26 @@
|
||||||
# Edit this configuration file to define what should be installed on
|
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
|
||||||
|
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ # Include the results of the hardware scan.
|
boot = {
|
||||||
./hardware-configuration.nix
|
# Use the latest kernel
|
||||||
];
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
nix.package = pkgs.nixUnstable;
|
|
||||||
nix.extraOptions = ''
|
|
||||||
experimental-features = nix-command flakes
|
|
||||||
'';
|
|
||||||
|
|
||||||
programs.steam.enable = true;
|
|
||||||
#nixpkgs.config.packageOverrides = pkgs: {
|
|
||||||
# steam = pkgs.steam.override {
|
|
||||||
# extraPkgs = pkgs: [
|
|
||||||
# pkgs.SDL2
|
|
||||||
# ];
|
|
||||||
# };
|
|
||||||
#};
|
|
||||||
|
|
||||||
|
|
||||||
hardware.enableAllFirmware = true;
|
|
||||||
hardware.opengl.enable = true;
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
#services.xserver.enable = true;
|
|
||||||
#services.xserver.displayManager.lightdm.enable = true;
|
|
||||||
#services.xserver.desktopManager.gnome3.enable = true;
|
|
||||||
|
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
|
||||||
boot.supportedFilesystems = [ "btrfs" ];
|
|
||||||
boot.loader.timeout = 1;
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
loader = {
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
systemd-boot.enable = true;
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
timeout = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
networking.hostName = "helix-texta"; # Define your hostname.
|
time.timeZone = "Europe/Berlin";
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
networking.hosts = {
|
networking = {
|
||||||
|
hostName = "helix-texta";
|
||||||
|
# nm ftw
|
||||||
|
networkmanager.enable = true;
|
||||||
|
# Make my server known!
|
||||||
|
hosts = {
|
||||||
"2a02:810a:143f:eafc:3e97:eff:fed0:e719" = [
|
"2a02:810a:143f:eafc:3e97:eff:fed0:e719" = [
|
||||||
"tammena.rocks"
|
"tammena.rocks"
|
||||||
"cal.tammena.rocks"
|
"cal.tammena.rocks"
|
||||||
|
@ -48,36 +29,9 @@
|
||||||
"cloud.tammena.rocks"
|
"cloud.tammena.rocks"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
#networking.interfaces.wlp0s20f3.useDHCP = true;
|
|
||||||
|
|
||||||
fonts.fonts = with pkgs; [
|
|
||||||
noto-fonts
|
|
||||||
noto-fonts-cjk
|
|
||||||
noto-fonts-emoji
|
|
||||||
];
|
|
||||||
|
|
||||||
# Set your time zone.
|
|
||||||
time.timeZone = "Europe/Berlin";
|
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
|
||||||
users.mutableUsers = false;
|
|
||||||
users.users.malte = {
|
|
||||||
description = "Malte Tammena";
|
|
||||||
#hashedPassword = "$6$8DXcFfgB3U/Irj$e879SaKE3FQktSB3EsWT279bS5cj0TG0S2q661wP2mAMtc5vtvt.h17N2td/AxwdNjnJ8wUTzDtWdXi2eFWHZ/";
|
|
||||||
hashedPassword =
|
|
||||||
"$6$oRbRjA.EHz2$YppAvuLOQgEF5ieX7Zup2SJ9sz5nmWoXd2XeqLzfFZSNsqv.Q1czjtpDl59pfZ5G0GBit4Z9nV9gkIHrDfqrQ0";
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups =
|
|
||||||
[ "wheel" "networkmanager" "video" "lp" ]; # Enable ‘sudo’ for the user.
|
|
||||||
shell = pkgs.fish;
|
|
||||||
};
|
};
|
||||||
services.getty.autologinUser = "malte";
|
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
# Pipewire for my wayland
|
||||||
# $ nix search wget
|
|
||||||
environment.systemPackages = with pkgs; [ wget neovim qt5.qtwayland steam-run-native ];
|
|
||||||
|
|
||||||
# rtkit is optional but recommended
|
|
||||||
sound.enable = false;
|
sound.enable = false;
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
|
@ -88,27 +42,59 @@
|
||||||
jack.enable = true;
|
jack.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
users = {
|
||||||
# started in user sessions.
|
# I like my users unmutable
|
||||||
# programs.mtr.enable = true;
|
mutableUsers = false;
|
||||||
|
|
||||||
|
# Myself
|
||||||
|
users.malte = {
|
||||||
|
description = "Malte Tammena";
|
||||||
|
#hashedPassword = "$6$8DXcFfgB3U/Irj$e879SaKE3FQktSB3EsWT279bS5cj0TG0S2q661wP2mAMtc5vtvt.h17N2td/AxwdNjnJ8wUTzDtWdXi2eFWHZ/";
|
||||||
|
hashedPassword =
|
||||||
|
"$6$oRbRjA.EHz2$YppAvuLOQgEF5ieX7Zup2SJ9sz5nmWoXd2XeqLzfFZSNsqv.Q1czjtpDl59pfZ5G0GBit4Z9nV9gkIHrDfqrQ0";
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups =
|
||||||
|
[ "wheel" "networkmanager" "video" "lp" ];
|
||||||
|
# Yes, use the best, please
|
||||||
|
shell = pkgs.fish;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Log me in! Fish should autostart sway then!
|
||||||
|
services.getty.autologinUser = "malte";
|
||||||
|
|
||||||
|
# Use some fonts
|
||||||
|
fonts.fonts = with pkgs; [
|
||||||
|
noto-fonts
|
||||||
|
noto-fonts-cjk
|
||||||
|
noto-fonts-emoji
|
||||||
|
];
|
||||||
|
|
||||||
|
# Configure GPG with SSH support and enable the yubikey
|
||||||
programs.gnupg.agent = {
|
programs.gnupg.agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableSSHSupport = true;
|
enableSSHSupport = true;
|
||||||
pinentryFlavor = "qt";
|
pinentryFlavor = "qt";
|
||||||
};
|
};
|
||||||
|
|
||||||
# List services that you want to enable:
|
|
||||||
|
|
||||||
# Enable the OpenSSH daemon.
|
|
||||||
# services.openssh.enable = true;
|
|
||||||
services.printing.enable = true;
|
|
||||||
services.udev.packages = with pkgs; [ yubikey-personalization ];
|
services.udev.packages = with pkgs; [ yubikey-personalization ];
|
||||||
|
|
||||||
# Open ports in the firewall.
|
programs.steam.enable = true;
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
#nixpkgs.config.packageOverrides = pkgs: {
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
# steam = pkgs.steam.override {
|
||||||
# Or disable the firewall altogether.
|
# extraPkgs = pkgs: [
|
||||||
# networking.firewall.enable = false;
|
# pkgs.SDL2
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
|
#};
|
||||||
|
|
||||||
|
services.dbus.packages = [ pkgs.gnome3.dconf ];
|
||||||
|
|
||||||
|
hardware.enableAllFirmware = true;
|
||||||
|
hardware.opengl.enable = true;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [ wget neovim qt5.qtwayland steam-run-native ];
|
||||||
|
|
||||||
|
services.printing.enable = true;
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
# This value determines the NixOS release from which the default
|
||||||
# settings for stateful data, like file locations and database versions
|
# settings for stateful data, like file locations and database versions
|
||||||
|
|
|
@ -1,60 +0,0 @@
|
||||||
# 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" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
|
||||||
boot.kernelModules = [ "kvm-intel" "nouveau" ];
|
|
||||||
boot.extraModulePackages = [ ];
|
|
||||||
|
|
||||||
fileSystems."/" = {
|
|
||||||
device = "/dev/disk/by-uuid/d9fd201a-f9f5-4d6f-9706-cc698699704d";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=root" "compress=zstd" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
boot.initrd.luks.devices."enc".device =
|
|
||||||
"/dev/disk/by-uuid/1f1e51d6-3084-4f4d-9b4b-6caa0352f542";
|
|
||||||
|
|
||||||
fileSystems."/home" = {
|
|
||||||
device = "/dev/disk/by-uuid/d9fd201a-f9f5-4d6f-9706-cc698699704d";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=home" "compress=zstd" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/nix" = {
|
|
||||||
device = "/dev/disk/by-uuid/d9fd201a-f9f5-4d6f-9706-cc698699704d";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=nix" "compress=zstd" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/persist" = {
|
|
||||||
device = "/dev/disk/by-uuid/d9fd201a-f9f5-4d6f-9706-cc698699704d";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=persist" "compress=zstd" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/var/log" = {
|
|
||||||
device = "/dev/disk/by-uuid/d9fd201a-f9f5-4d6f-9706-cc698699704d";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=log" "compress=zstd" ];
|
|
||||||
neededForBoot = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
|
||||||
device = "/dev/disk/by-uuid/B767-2B7C";
|
|
||||||
fsType = "vfat";
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices =
|
|
||||||
[{ device = "/dev/disk/by-uuid/6948f567-03b3-4a38-b3c4-e05e0bbfbf55"; }];
|
|
||||||
|
|
||||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
|
||||||
# high-resolution display
|
|
||||||
hardware.video.hidpi.enable = lib.mkDefault true;
|
|
||||||
}
|
|
75
system/lenovo-thinkpad-p1.nix
Normal file
75
system/lenovo-thinkpad-p1.nix
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
boot = {
|
||||||
|
initrd = {
|
||||||
|
availableKernelModules =
|
||||||
|
[ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
||||||
|
luks.devices."enc".device =
|
||||||
|
"/dev/disk/by-uuid/1f1e51d6-3084-4f4d-9b4b-6caa0352f542";
|
||||||
|
};
|
||||||
|
kernelModules = [ "kvm-intel" "nouveau" ];
|
||||||
|
supportedFilesystems = [ "btrfs" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||||
|
|
||||||
|
hardware = {
|
||||||
|
enableRedistributableFirmware = true;
|
||||||
|
|
||||||
|
# high-resolution display
|
||||||
|
video.hidpi.enable = lib.mkDefault true;
|
||||||
|
|
||||||
|
nvidia.prime = {
|
||||||
|
offload.enable = true;
|
||||||
|
nvidiaBusId = "PCI:1:0:0";
|
||||||
|
intelBusId = "PCI:0:2:0";
|
||||||
|
};
|
||||||
|
|
||||||
|
trackpoint.enable = true;
|
||||||
|
trackpoint.emulateWheel = lib.mkDefault config.hardware.trackpoint.enable;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.fprintd.enable = true;
|
||||||
|
|
||||||
|
fileSystems = {
|
||||||
|
"/" = {
|
||||||
|
device = "/dev/disk/by-uuid/d9fd201a-f9f5-4d6f-9706-cc698699704d";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=root" "compress=zstd" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/B767-2B7C";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
"/home" = {
|
||||||
|
device = "/dev/disk/by-uuid/d9fd201a-f9f5-4d6f-9706-cc698699704d";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=home" "compress=zstd" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/nix" = {
|
||||||
|
device = "/dev/disk/by-uuid/d9fd201a-f9f5-4d6f-9706-cc698699704d";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=nix" "compress=zstd" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/persist" = {
|
||||||
|
device = "/dev/disk/by-uuid/d9fd201a-f9f5-4d6f-9706-cc698699704d";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=persist" "compress=zstd" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/var/log" = {
|
||||||
|
device = "/dev/disk/by-uuid/d9fd201a-f9f5-4d6f-9706-cc698699704d";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=log" "compress=zstd" ];
|
||||||
|
neededForBoot = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices =
|
||||||
|
[{ device = "/dev/disk/by-uuid/6948f567-03b3-4a38-b3c4-e05e0bbfbf55"; }];
|
||||||
|
}
|
Loading…
Reference in a new issue