158 lines
3.6 KiB
Nix
158 lines
3.6 KiB
Nix
#e Edit this configuration file to define what should be installed on
|
||
# Hi
|
||
# your system. Help is available in the configuration.nix(5) man page
|
||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||
|
||
{ config, pkgs, lib, ... }:
|
||
|
||
{
|
||
imports =
|
||
[ # Include the results of the hardware scan.
|
||
./hardware-configuration.nix
|
||
./custom/packages.nix
|
||
./custom/mount.nix
|
||
./custom/locale.nix
|
||
./custom/services.nix
|
||
./custom/games.nix
|
||
./custom/hyprland.nix
|
||
./custom/ai.nix
|
||
];
|
||
|
||
# Optimization
|
||
nix = {
|
||
gc = {
|
||
automatic = true;
|
||
dates = "weekly";
|
||
options = "--delete-older-than 7d";
|
||
};
|
||
optimise = {
|
||
automatic = true;
|
||
dates = [ "weekly" ];
|
||
};
|
||
settings.experimental-features = [ "nix-command" "flakes"];
|
||
};
|
||
|
||
# Bootloader.
|
||
boot = {
|
||
initrd.kernelModules = [ "amdgpu" ];
|
||
loader.systemd-boot.enable = true;
|
||
loader.efi.canTouchEfiVariables = true;
|
||
#extraModulePackages = [];
|
||
kernelModules = [ "amdgpu" "i2c-dev" "i2c-piix4" ];
|
||
kernelParams = [
|
||
"acpi_enforce_resources=lax"
|
||
"quiet"
|
||
"udev.log_level=3"
|
||
"systemd.show_status=auto"
|
||
];
|
||
kernelPackages = pkgs.linuxPackages_zen;
|
||
plymouth = {
|
||
enable = true;
|
||
theme = "lone";
|
||
themePackages = with pkgs; [
|
||
# By default we would install all themes
|
||
(adi1090x-plymouth-themes.override {
|
||
selected_themes = [ "lone" ];
|
||
})
|
||
];
|
||
};
|
||
|
||
# Enable "Silent boot"
|
||
#consoleLogLevel = 3;
|
||
#initrd.verbose = false;
|
||
#loader.timeout = 0;
|
||
};
|
||
|
||
powerManagement.cpufreq.max = 4200000;
|
||
powerManagement.cpuFreqGovernor = "powersave";
|
||
|
||
time.timeZone = "Europe/Berlin";
|
||
|
||
networking = {
|
||
hostName = "peceli";
|
||
firewall.enable = true;
|
||
networkmanager.enable = true;
|
||
firewall.allowedTCPPorts = [ 9943 9944 22000 53317 ];
|
||
firewall.allowedUDPPorts = [ 9943 9944 53317 ];
|
||
};
|
||
|
||
#Configs
|
||
nixpkgs.config.allowUnfree = true;
|
||
|
||
fonts.packages = with pkgs; [
|
||
nerd-fonts.caskaydia-cove
|
||
];
|
||
|
||
virtualisation = {
|
||
docker.enable = true;
|
||
libvirtd = {
|
||
enable = true;
|
||
qemu.vhostUserPackages = with pkgs; [ virtiofsd ];
|
||
};
|
||
};
|
||
|
||
#User config
|
||
users = {
|
||
defaultUserShell = pkgs.zsh;
|
||
groups.wireshark.gid = 500;
|
||
users = {
|
||
robin = {
|
||
isNormalUser = true;
|
||
description = "robin";
|
||
extraGroups = [ "audio" "wireshark" "libvirtd" "networkmanager" "wheel" "docker"];
|
||
packages = with pkgs; [
|
||
flatpak
|
||
];
|
||
shell = pkgs.zsh; # Set shell to zsh
|
||
ignoreShellProgramCheck = true;
|
||
};
|
||
};
|
||
groups.i2c.members = [ "robin" ];
|
||
};
|
||
|
||
#hardware
|
||
hardware = {
|
||
graphics = {
|
||
enable = true;
|
||
enable32Bit = true;
|
||
};
|
||
bluetooth = {
|
||
enable = true;
|
||
powerOnBoot = true;
|
||
settings = {
|
||
General = {
|
||
DiscoverableTimeout = 0;
|
||
Experimental = true;
|
||
FastConnectable = true;
|
||
};
|
||
Policy = {
|
||
AutoEnable = true;
|
||
};
|
||
};
|
||
};
|
||
};
|
||
|
||
#Programs
|
||
programs = {
|
||
wireshark.enable = true;
|
||
virt-manager.enable = true;
|
||
kdeconnect.enable = true;
|
||
noisetorch.enable = true;
|
||
partition-manager.enable = true;
|
||
zsh.enable = true;
|
||
gnupg.agent = {
|
||
enable = true;
|
||
enableSSHSupport = true;
|
||
pinentryPackage = pkgs.pinentry-tty;
|
||
};
|
||
# hyprland = {
|
||
# enable = true;
|
||
# withUWSM = true; # recommended for most users
|
||
# #xwayland.enable = true;
|
||
# };
|
||
};
|
||
|
||
system.stateVersion = "26.05"; # Did you read the comment?
|
||
|
||
}
|