Files
dotfiles/nix/hosts/usahara/configuration.nix

115 lines
2.3 KiB
Nix

# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{
config,
lib,
pkgs,
meta,
...
}:
{
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
];
# Use the systemd-boot EFI boot loader.
boot.loader.grub = {
enable = true;
efiSupport = true;
useOSProber = true;
efiInstallAsRemovable = true;
device = "nodev";
};
networking.hostName = meta.hostname;
networking.networkmanager.enable = true;
hardware.bluetooth.enable = true;
swapDevices = [
{
device = "/swapfile";
size = 4 * 1024;
}
];
time.timeZone = "America/Vancouver";
security.sudo = {
enable = true;
wheelNeedsPassword = false;
};
i18n.defaultLocale = "en_US.UTF-8";
services.pipewire = {
enable = true;
pulse.enable = true;
};
desktop.enable = true;
kanata.enable = true;
kanata.apple = true;
sensors.enable = true;
users.users.luca = {
isNormalUser = true;
extraGroups = [
"wheel"
"docker"
];
packages = with pkgs; [
tree
];
hashedPassword = config.hashedPassword;
shell = pkgs.zsh;
openssh.authorizedKeys.keys = config.authorized_ssh;
};
hardware.graphics.enable = true;
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia.open = true;
environment.sessionVariables = {
WLR_NO_HARDWARE_CURSORS = "1";
NIXOS_OZONE_WL = "1";
};
home-manager.users.luca = {
services.kanshi = {
enable = true;
settings = [
{
profile.name = "main";
profile.outputs = [
{
status = "enable";
criteria = "HDMI-A-1";
position = "0,0";
mode = "1920x1080";
scale = 1.0;
}
{
status = "enable";
criteria = "DP-1";
position = "1920,0";
mode = "1920x1080@144Hz";
scale = 1.0;
}
];
}
];
};
};
services.flatpak.enable = true;
environment.systemPackages =
with pkgs;
config.commonPackages
++ [
];
services.openssh.enable = true;
system.stateVersion = "25.05";
}