Files
my_nixos/hosts/generic/configuration_generic.nix
T
2026-04-20 17:55:34 +03:00

203 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
sbctl
];
#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 38008 ];
networking.firewall.allowedUDPPorts = [ 38401 25565 554 80 27031 27032 27033 27034 27035 27036 3658 38008 ];
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"
'';
}