nix-config/hosts/dnsc-machine/default.nix
2025-12-19 00:58:14 +01:00

87 lines
2 KiB
Nix

{
lib,
inputs,
outputs,
pkgs,
...
}:
{
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
inputs.home-manager.nixosModules.home-manager
outputs.nixosModules.base
outputs.nixosModules.unix
outputs.nixosModules.nvidia
outputs.nixosModules.bluetooth
outputs.nixosModules.printing
outputs.nixosModules.tablet
outputs.nixosModules.audio
outputs.nixosModules.ly
outputs.nixosModules.niriSystem
outputs.nixosModules.keyd
outputs.nixosModules.steam
];
# Device specific overlays
# Overlays for all devices are defined
# in flake.nix
nixpkgs.overlays = [
inputs.zellij-switch.overlays.default
(final: prev: {
python3Packages = prev.python3Packages // {
python-dbusmock =
inputs.nixpkgs-backport-fix.legacyPackages.x86_64-linux.python3Packages.python-dbusmock;
};
})
];
# General settings
networking.hostName = "dnsc-machine";
time.timeZone = "Europe/Berlin";
services.xserver.xkb.layout = "eu";
users.users.dennis = {
isNormalUser = true;
description = "dennis";
extraGroups = [
"networkmanager"
"wheel"
];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvXWZOPOJJDAoF+Sx/ZLoAVu6G/7/MAWoknBgMAzjul dennis@dnsc-mac"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKnmuxDkpDIku5t1Tykz21u78xoQ7LJR8JEcfth32LGu dennis@dnsc-work"
];
};
# Home Manager
home-manager = {
extraSpecialArgs = { inherit inputs outputs; };
backupFileExtension = "backup";
users = {
dennis = {
imports = [
inputs.zen-browser.homeModules.beta
../../home/linux.nix
];
};
};
};
# System Packages
environment.systemPackages = lib.mkAfter (
with pkgs;
[
zellij
zellij-switch
]
);
# Enable some services that do not need configuration
services.openssh.enable = true;
services.tailscale.enable = true;
services.udisks2.enable = true;
system.stateVersion = "25.05";
}