202 lines
4.0 KiB
Nix
202 lines
4.0 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
{
|
|
nix.settings.experimental-features = [ "nix-command" "flakes"];
|
|
# loader setup
|
|
boot.loader = {
|
|
systemd-boot.enable = true;
|
|
efi.canTouchEfiVariables = true;
|
|
};
|
|
|
|
# timezone
|
|
time.timeZone = "Europe/Moscow";
|
|
|
|
programs.zsh.enable = true;
|
|
programs.fish.enable = true;
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
git
|
|
wget
|
|
nfs-utils
|
|
];
|
|
#enable scanner support
|
|
hardware.sane.enable = true;
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
programs.neovim = {
|
|
enable = true;
|
|
defaultEditor = true;
|
|
};
|
|
fonts.packages = with pkgs; [
|
|
ubuntu-classic # For standard Ubuntu fonts
|
|
# nerdFonts.override { fonts = [ "JetBrainsMono" ]; } # For specific Nerd Fonts
|
|
# noto-fonts
|
|
];
|
|
|
|
services.openssh.enable = true;
|
|
services.openssh.settings.X11Forwarding = true;
|
|
|
|
# networking
|
|
networking.networkmanager = {
|
|
enable = true;
|
|
plugins = with pkgs; [
|
|
networkmanager-openvpn
|
|
];
|
|
};
|
|
networking.firewall.allowedTCPPorts = [ 22 3240 2049 25565 554 80 27040 8044 ];
|
|
networking.firewall.allowedUDPPorts = [ 38401 25565 554 80 27031 27032 27033 27034 27035 27036 3658 ];
|
|
networking.nftables.enable = true;
|
|
|
|
# tailscale
|
|
services.tailscale.enable = true;
|
|
|
|
# fking nix-ld
|
|
programs.nix-ld = {
|
|
enable = true;
|
|
libraries = with pkgs; [
|
|
|
|
## Put here any library that is required when running a package
|
|
## ...
|
|
## Uncomment if you want to use the libraries provided by default in the steam distribution
|
|
## but this is quite far from being exhaustive
|
|
## https://github.com/NixOS/nixpkgs/issues/354513
|
|
(pkgs.runCommand "steamrun-lib" {} "mkdir $out; ln -s ${pkgs.steam-run.fhsenv}/usr/lib64 $out/lib")
|
|
kdePackages.qtwayland
|
|
kdePackages.qtbase
|
|
kdePackages.qtsvg
|
|
kdePackages.qtmultimedia
|
|
SDL
|
|
SDL2
|
|
SDL2_image
|
|
SDL2_mixer
|
|
SDL2_ttf
|
|
SDL_image
|
|
SDL_mixer
|
|
SDL_ttf
|
|
alsa-lib
|
|
at-spi2-atk
|
|
at-spi2-core
|
|
atk
|
|
bzip2
|
|
cairo
|
|
cups
|
|
curlWithGnuTls
|
|
dbus
|
|
dbus-glib
|
|
desktop-file-utils
|
|
e2fsprogs
|
|
expat
|
|
flac
|
|
fontconfig
|
|
freeglut
|
|
freetype
|
|
fribidi
|
|
fuse
|
|
fuse3
|
|
gdk-pixbuf
|
|
glew110
|
|
glib
|
|
gmp
|
|
gst_all_1.gst-plugins-base
|
|
gst_all_1.gst-plugins-ugly
|
|
gst_all_1.gstreamer
|
|
gtk2
|
|
harfbuzz
|
|
icu
|
|
keyutils.lib
|
|
libGL
|
|
libGLU
|
|
libappindicator-gtk2
|
|
libcaca
|
|
libcanberra
|
|
libcap
|
|
libclang.lib
|
|
libdbusmenu
|
|
libdrm
|
|
libgcrypt
|
|
libgpg-error
|
|
libidn
|
|
libjack2
|
|
libjpeg
|
|
libmikmod
|
|
libogg
|
|
libpng12
|
|
libpulseaudio
|
|
librsvg
|
|
libsamplerate
|
|
libsecret
|
|
libthai
|
|
libtheora
|
|
libtiff
|
|
libudev0-shim
|
|
libusb1
|
|
libuuid
|
|
libvdpau
|
|
libvorbis
|
|
libvpx
|
|
libxcrypt-legacy
|
|
libxkbcommon
|
|
libxml2
|
|
mesa
|
|
nspr
|
|
nss
|
|
openssl
|
|
p11-kit
|
|
pango
|
|
pixman
|
|
python3
|
|
speex
|
|
stdenv.cc.cc
|
|
tbb
|
|
udev
|
|
vulkan-loader
|
|
wayland
|
|
webkitgtk_4_1
|
|
libICE
|
|
libSM
|
|
libX11
|
|
libXScrnSaver
|
|
libXcomposite
|
|
libXcursor
|
|
libXdamage
|
|
libXext
|
|
libXfixes
|
|
libXft
|
|
libXi
|
|
libXinerama
|
|
libXmu
|
|
libXrandr
|
|
libXrender
|
|
libXt
|
|
libXtst
|
|
libXxf86vm
|
|
libpciaccess
|
|
libxcb
|
|
xcbutil
|
|
xcbutilimage
|
|
xcbutilkeysyms
|
|
xcbutilrenderutil
|
|
xcbutilwm
|
|
xkeyboardconfig
|
|
xz
|
|
zlib
|
|
];
|
|
};
|
|
## Uncomment if you used steamrun's libraries
|
|
|
|
networking.hosts = {
|
|
"192.168.1.116" = [ "Clank" ];
|
|
"192.168.1.222" = [ "Aphelion" ];
|
|
"192.168.1.94" = [ "Qwark" ];
|
|
};
|
|
|
|
# locales
|
|
i18n.extraLocales = [ "en_US.UTF-8/UTF-8" "C.UTF-8/UTF-8" "ru_RU.UTF-8/UTF-8" ];
|
|
|
|
# keyboard
|
|
services.udev.extraRules = ''
|
|
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{serial}=="*vial:f64c2b3c*", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
|
|
'';
|
|
|
|
}
|