125 lines
2.2 KiB
Nix
125 lines
2.2 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
{
|
|
imports = [
|
|
./hardware.nix
|
|
../../modules/system/boot.nix
|
|
../../modules/system/nvidia.nix
|
|
../../modules/system/hardware.nix
|
|
../../modules/system/desktop.nix
|
|
../../modules/system/power-management.nix
|
|
];
|
|
|
|
# System settings
|
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
|
nixpkgs.config.allowUnfree = true;
|
|
system.stateVersion = "25.05";
|
|
|
|
# Networking
|
|
networking = {
|
|
hostName = "nxs";
|
|
networkmanager.enable = true;
|
|
firewall.enable = true;
|
|
};
|
|
|
|
# Localization
|
|
time.timeZone = "Europe/Rome";
|
|
|
|
# Virtualization
|
|
virtualisation.docker = {
|
|
enable = true;
|
|
enableOnBoot = true;
|
|
};
|
|
virtualisation = {
|
|
containers.enable = true;
|
|
podman = {
|
|
enable = true;
|
|
defaultNetwork.settings.dns_enabled = true; # Required for containers under podman-compose to be able to talk to each other.
|
|
};
|
|
};
|
|
|
|
nix.settings = {
|
|
substituters = [
|
|
"https://cache.nixos-cuda.org"
|
|
];
|
|
trusted-public-keys = [
|
|
"cache.nixos-cuda.org:74DUi4Ye579gUqzH4ziL9IyiJBlDpMRn9MBN8oNan9M="
|
|
];
|
|
};
|
|
|
|
# Users
|
|
programs.fish.enable = true;
|
|
users.users.narrator = {
|
|
isNormalUser = true;
|
|
extraGroups = [
|
|
"wheel"
|
|
"docker"
|
|
"sudo"
|
|
"uucp"
|
|
"lp"
|
|
"adm"
|
|
"input"
|
|
"uinput"
|
|
"docker"
|
|
"lxd"
|
|
"libvirtd"
|
|
"vboxsf"
|
|
"vboxusers"
|
|
"wireshark"
|
|
"networkmanager"
|
|
"network"
|
|
"audio"
|
|
"storage"
|
|
"libvirtd"
|
|
"video"
|
|
"podman"
|
|
"render"
|
|
];
|
|
shell = pkgs.fish;
|
|
packages = with pkgs; [ tree ];
|
|
};
|
|
|
|
# System packages
|
|
environment.systemPackages = with pkgs; [
|
|
vim
|
|
gnupg
|
|
wget
|
|
cryptsetup
|
|
xorg.xinit
|
|
os-prober
|
|
fish
|
|
htop
|
|
fzf
|
|
curl
|
|
git
|
|
pinentry-curses
|
|
lightdm
|
|
i3
|
|
awesome
|
|
|
|
(ollama.override {
|
|
acceleration = "cuda";
|
|
})
|
|
blueman
|
|
];
|
|
|
|
# Services
|
|
services = {
|
|
openssh.enable = true;
|
|
timesyncd.enable = true;
|
|
pcscd.enable = true;
|
|
};
|
|
|
|
# Programs
|
|
programs = {
|
|
firefox.enable = true;
|
|
ssh.startAgent = true;
|
|
gnupg.agent.enable = true;
|
|
};
|
|
|
|
# Security
|
|
security.sudo.wheelNeedsPassword = false;
|
|
|
|
# Documentation
|
|
documentation.man.generateCaches = false;
|
|
}
|