2023-12-15 12:40:04 +05:00
|
|
|
{
|
2024-07-08 15:07:24 +05:00
|
|
|
pkgs,
|
|
|
|
lib,
|
|
|
|
config,
|
2024-10-21 23:22:53 +05:00
|
|
|
bonLib,
|
2024-07-08 15:07:24 +05:00
|
|
|
...
|
|
|
|
}: {
|
|
|
|
system.stateVersion = "23.11";
|
|
|
|
|
2024-10-21 23:22:53 +05:00
|
|
|
imports = [
|
|
|
|
bonLib.preconfiguredModules.nixos.common
|
|
|
|
./hardware.nix
|
|
|
|
./users.nix
|
|
|
|
];
|
2024-07-08 15:07:24 +05:00
|
|
|
|
|
|
|
# Nix settings
|
2024-10-21 23:22:53 +05:00
|
|
|
nix.settings = {
|
|
|
|
trusted-users = ["l-nafaryus"];
|
|
|
|
allowed-users = ["l-nafaryus"];
|
2024-07-08 15:07:24 +05:00
|
|
|
};
|
|
|
|
|
|
|
|
# Nix packages
|
|
|
|
nixpkgs = {
|
|
|
|
hostPlatform = lib.mkDefault "x86_64-linux";
|
|
|
|
config.allowUnfree = true;
|
|
|
|
config.cudaSupport = false;
|
|
|
|
|
|
|
|
overlays = [
|
|
|
|
(final: prev: {
|
|
|
|
blender = prev.blender.override {cudaSupport = true;};
|
|
|
|
})
|
|
|
|
];
|
|
|
|
};
|
2023-12-15 12:40:04 +05:00
|
|
|
|
2024-07-08 15:07:24 +05:00
|
|
|
# Services
|
|
|
|
services.xserver = {
|
|
|
|
enable = true;
|
2023-12-15 12:40:04 +05:00
|
|
|
|
2024-07-08 15:07:24 +05:00
|
|
|
xkb = {
|
|
|
|
layout = "us";
|
|
|
|
variant = "";
|
2024-06-20 00:16:28 +05:00
|
|
|
};
|
|
|
|
|
2024-07-08 15:07:24 +05:00
|
|
|
videoDrivers = ["nvidia"];
|
2024-06-20 00:16:28 +05:00
|
|
|
|
2024-07-08 15:07:24 +05:00
|
|
|
wacom.enable = true;
|
|
|
|
};
|
2023-12-15 12:40:04 +05:00
|
|
|
|
2024-10-21 23:22:53 +05:00
|
|
|
services.desktopManager.plasma6.enable = true;
|
2024-07-08 15:07:24 +05:00
|
|
|
|
2024-10-21 23:22:53 +05:00
|
|
|
services.displayManager.sddm = {
|
2024-07-08 15:07:24 +05:00
|
|
|
enable = true;
|
2024-10-21 23:22:53 +05:00
|
|
|
wayland.enable = true;
|
2024-07-08 15:07:24 +05:00
|
|
|
};
|
|
|
|
|
2024-11-03 19:06:04 +05:00
|
|
|
services.dbus = {
|
|
|
|
enable = true;
|
|
|
|
packages = with pkgs; [networkmanager];
|
|
|
|
};
|
2024-07-08 15:07:24 +05:00
|
|
|
|
2024-07-24 11:39:18 +05:00
|
|
|
services.printing = {
|
|
|
|
enable = true;
|
|
|
|
drivers = [pkgs.hplip];
|
|
|
|
};
|
|
|
|
|
|
|
|
services.avahi = {
|
|
|
|
enable = true;
|
|
|
|
nssmdns4 = true;
|
|
|
|
openFirewall = true;
|
|
|
|
};
|
2024-07-08 15:07:24 +05:00
|
|
|
|
|
|
|
services.pipewire = {
|
|
|
|
enable = true;
|
|
|
|
alsa.enable = true;
|
|
|
|
alsa.support32Bit = true;
|
|
|
|
pulse.enable = true;
|
|
|
|
jack.enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
services.openssh = {
|
|
|
|
enable = true;
|
|
|
|
startWhenNeeded = true;
|
|
|
|
settings.PasswordAuthentication = false;
|
|
|
|
settings.KbdInteractiveAuthentication = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
services.udev = {
|
|
|
|
extraRules = ''
|
|
|
|
KERNEL=="rtc0", GROUP="audio"
|
|
|
|
KERNEL=="hpet", GROUP="audio"
|
|
|
|
'';
|
|
|
|
};
|
2023-12-15 12:40:04 +05:00
|
|
|
|
2024-11-24 23:08:58 +05:00
|
|
|
services.cockpit.enable = true;
|
|
|
|
|
2024-11-03 19:06:04 +05:00
|
|
|
#services.blueman.enable = true;
|
2023-12-15 12:40:04 +05:00
|
|
|
|
2024-07-08 15:07:24 +05:00
|
|
|
services.btrfs.autoScrub = {
|
|
|
|
enable = true;
|
|
|
|
interval = "monthly";
|
|
|
|
fileSystems = ["/"];
|
|
|
|
};
|
2024-04-24 14:26:24 +05:00
|
|
|
|
2024-07-08 15:07:24 +05:00
|
|
|
programs.ssh.extraConfig = ''
|
|
|
|
Host astora
|
|
|
|
HostName 192.168.156.101
|
|
|
|
Port 22
|
|
|
|
User l-nafaryus
|
2024-01-10 22:32:33 +05:00
|
|
|
|
2024-07-08 15:07:24 +05:00
|
|
|
Host catarina
|
|
|
|
HostName 192.168.156.102
|
|
|
|
Port 22
|
|
|
|
User l-nafaryus
|
|
|
|
'';
|
2024-01-10 22:32:33 +05:00
|
|
|
|
2024-07-08 15:07:24 +05:00
|
|
|
virtualisation = {
|
|
|
|
containers.enable = true;
|
|
|
|
podman = {
|
|
|
|
enable = true;
|
|
|
|
dockerCompat = true;
|
|
|
|
defaultNetwork.settings.dns_enabled = true;
|
2024-05-03 23:10:55 +05:00
|
|
|
};
|
2024-11-24 23:08:58 +05:00
|
|
|
libvirtd = {
|
|
|
|
enable = true;
|
|
|
|
qemu.vhostUserPackages = with pkgs; [virtiofsd];
|
|
|
|
};
|
2024-07-08 15:07:24 +05:00
|
|
|
};
|
2023-12-15 12:40:04 +05:00
|
|
|
}
|