nixos-config/hosts/nishimiya.nix

125 lines
2.8 KiB
Nix

{ config, lib, pkgs, ... }:
{
fileSystems = {
"/" = {
device = "/dev/disk/by-uuid/d06b511d-1970-421d-b006-231a7af91942";
fsType = "btrfs";
};
"/boot" = {
device = "/dev/disk/by-uuid/DFCE-FE5C";
fsType = "vfat";
};
};
swapDevices = [ ]; # TODO
boot = {
initrd = {
availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "sdhci_pci" ];
kernelModules = [ "dm-snapshot" ];
luks.devices = {
cryptroot = {
device = "/dev/disk/by-uuid/e1011c40-e1a9-4ce6-b89f-f14b046639c1";
preLVM = false; # NOTE: Since this LUKS device is within an LVM group
};
};
};
kernelModules = [ "kvm-intel" ];
extraModulePackages = [ ];
};
ptw = {
programs = {
alacritty.enable = true;
sway.enable = true;
emacs.enable = true;
firefox.enable = true;
tmux.enable = true;
waybar = {
enable = true;
output = "eDP-1";
};
zsh.enable = true;
git.enable = true;
};
services = {
kanshi = let
horizontal = "Samsung Electric Company C27F398 H4ZR101145";
helpers = import ../lib/helpers/kanshi.nix;
mkProfile = helpers.mkProfile;
wallpaperScript = helpers.mkWallpaperScript {
inherit pkgs config;
};
in {
enable = true;
profiles = {
laptop = mkProfile {
outputs = [
{
criteria = "eDP-1";
status = "enable";
mode = "1920x1080";
position = "0,0";
}
];
name = "laptop";
script = wallpaperScript;
};
laptopMultihead = mkProfile {
outputs = [
{
criteria = "HDMI-A-1";
status = "enable";
mode = "1920x1080";
position = "-1920,0";
}
{
criteria = "eDP-1";
status = "enable";
mode = "1920x1080";
position = "0,0";
}
];
name = "laptopMultihead";
script = wallpaperScript;
};
};
};
swaync.enable = true;
};
system = {
i18n.enable = true;
singleUser = "alexander";
hostName = "nishimiya";
wireless = true;
primaryInterface = "wlp5s0";
};
virtualisation.enable = true;
hardware = {
intel.enable = true;
};
};
services = {
xserver = {
enable = true;
layout = "de";
libinput.enable = true;
displayManager.gdm = {
enable = true;
wayland = true;
};
};
};
environment.systemPackages = with pkgs; [
ansible
];
programs = {
gnupg.agent.pinentryFlavor = "qt";
};
}