157 lines
3.3 KiB
Nix
157 lines
3.3 KiB
Nix
{ config, pkgs, ... }:
|
||
|
||
{
|
||
nixpkgs.config.allowUnfree = true;
|
||
|
||
imports = [
|
||
./hardware-configuration.nix
|
||
|
||
<home-manager/nixos>
|
||
./home-manager.nix
|
||
];
|
||
|
||
boot = {
|
||
loader = {
|
||
timeout = 0;
|
||
efi.canTouchEfiVariables = true;
|
||
|
||
systemd-boot = {
|
||
enable = true;
|
||
consoleMode = "auto";
|
||
};
|
||
};
|
||
|
||
kernelPackages = pkgs.linuxPackages_latest;
|
||
kernelParams = [
|
||
"quiet"
|
||
"splash"
|
||
"vga=current"
|
||
"mitigations=off"
|
||
"udev.log_level=3"
|
||
];
|
||
|
||
initrd = {
|
||
verbose = false;
|
||
kernelModules = [ "i915" ];
|
||
};
|
||
|
||
consoleLogLevel = 0;
|
||
|
||
plymouth.enable = true;
|
||
};
|
||
|
||
console = {
|
||
earlySetup = true;
|
||
font = "${pkgs.terminus_font}/share/consolefonts/ter-132n.psf.gz";
|
||
packages = with pkgs; [ terminus_font ];
|
||
keyMap = "us";
|
||
};
|
||
|
||
networking = {
|
||
hostName = "sijmen-laptop";
|
||
networkmanager.enable = true;
|
||
};
|
||
|
||
hardware.pulseaudio.enable = true;
|
||
hardware.bluetooth.enable = true;
|
||
sound.enable = true;
|
||
|
||
time.timeZone = "Europe/Amsterdam";
|
||
|
||
# Select internationalisation properties.
|
||
i18n = {
|
||
defaultLocale = "en_US.UTF-8";
|
||
supportedLocales = [
|
||
"en_US.UTF-8/UTF-8"
|
||
"nl_NL.UTF-8/UTF-8"
|
||
];
|
||
};
|
||
|
||
environment.gnome.excludePackages = (with pkgs; [
|
||
gnome-photos
|
||
gnome-tour
|
||
]) ++ (with pkgs.gnome; [
|
||
gnome-calendar
|
||
gnome-music
|
||
epiphany # web browser
|
||
geary # email reader
|
||
totem # video player
|
||
tali # poker game
|
||
iagno # go game
|
||
hitori # sudoku game
|
||
atomix # puzzle game
|
||
]);
|
||
|
||
users.users.sijmen = {
|
||
isNormalUser = true;
|
||
extraGroups = [ "wheel" ];
|
||
};
|
||
|
||
environment.systemPackages = with pkgs; [
|
||
gnome.adwaita-icon-theme
|
||
];
|
||
|
||
services.pipewire.enable = true;
|
||
services.printing.enable = true;
|
||
|
||
services.xserver = {
|
||
enable = true;
|
||
displayManager.gdm.enable = true;
|
||
desktopManager.gnome.enable = true;
|
||
};
|
||
|
||
services.openssh = {
|
||
enable = true;
|
||
passwordAuthentication = false;
|
||
};
|
||
|
||
services.throttled.enable = true;
|
||
|
||
services.syncthing = {
|
||
enable = true;
|
||
user = "sijmen";
|
||
dataDir = config.users.users.sijmen.home;
|
||
overrideDevices = true;
|
||
overrideFolders = true;
|
||
|
||
devices = {
|
||
"nas".id = "5XADATO-6ZKNZFK-YIX2TU3-RTUOAXR-OMWOAH6-OIUB7LE-TWM5B3C-W2I2FQU";
|
||
};
|
||
|
||
folders = {
|
||
"vhuse-qjbcl" = {
|
||
path = "${config.users.users.sijmen.home}/Sync";
|
||
devices = [ "nas" ];
|
||
};
|
||
};
|
||
};
|
||
|
||
networking.firewall = {
|
||
allowedTCPPorts = [
|
||
22 # ssh
|
||
22000 # syncthing sync
|
||
51414 # transmission
|
||
57621 # spotify connect
|
||
];
|
||
|
||
allowedUDPPorts = [
|
||
21027 # syncthing discovery
|
||
22000 # syncthing sync
|
||
];
|
||
};
|
||
|
||
fonts.fonts = with pkgs; [
|
||
noto-fonts
|
||
noto-fonts-cjk
|
||
noto-fonts-emoji
|
||
nerdfonts
|
||
];
|
||
|
||
# This value determines the NixOS release from which the default
|
||
# settings for stateful data, like file locations and database versions
|
||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||
# this value at the release version of the first install of this system.
|
||
# Before changing this value read the documentation for this option
|
||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||
system.stateVersion = "22.05"; # Did you read the comment?
|
||
}
|