massive refactoring

This commit is contained in:
yaroslav
2026-05-09 16:17:24 +03:00
parent fa9f084702
commit 79483c0b9b
26 changed files with 370 additions and 507 deletions
+1 -154
View File
@@ -1,15 +1,12 @@
{ config, lib, pkgs, ... }:
{
nix.settings.experimental-features = [ "nix-command" "flakes"];
time.timeZone = "Europe/Moscow";
# loader setup
boot.loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
# timezone
time.timeZone = "Europe/Moscow";
programs.zsh.enable = true;
programs.fish.enable = true;
@@ -19,8 +16,6 @@
nfs-utils
sbctl
];
#enable scanner support
hardware.sane.enable = true;
nixpkgs.config.allowUnfree = true;
@@ -37,154 +32,6 @@
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 47989 48010 48000];
networking.firewall.allowedUDPPorts = [ 38401 25565 554 80 27031 27032 27033 27034 27035 27036 3658 38008 47998 47999 47800 48010 48000];
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" ];
-46
View File
@@ -1,46 +0,0 @@
{ ... }:
{
environment.persistence."/nix/persist" = {
hideMounts = true;
users.yaroslav = {
directories = [
".local/share/nicotine"
".local/share/mpd"
".local/share/AyuGramDesktop"
".local/share/PrismLauncher"
".local/share/Steam"
".local/share/bottles"
".local/share/backgrounds"
".config/dconf"
".config/Code"
".config/VSCodium"
".config/libreoffice"
".config/chromium"
".config/kdeconnect"
".config/plasma-org.kde.plasma.desktop-appletsrc"
".config/kwinoutputconfig"
".vscode"
".vscode-oss"
".mozilla"
".local/state"
".wine"
# XDG User directories
"Downloads"
"Music"
"Pictures"
"Documents"
"Videos"
"some-trash"
".cert"
".ssh"
".steam"
];
files = [
".p10k.zsh"
".zsh_history"
".config/monitors.xml"
];
};
};
}
+13
View File
@@ -0,0 +1,13 @@
{lib, pkgs, ...}: {
networking.useDHCP = lib.mkDefault true;
networking.networkmanager = {
enable = true;
plugins = with pkgs; [
networkmanager-openvpn
];
};
# tailscale
services.tailscale.enable = true;
networking.nftables.enable = true;
}
+129
View File
@@ -0,0 +1,129 @@
{ pkgs, ...}:
{
# fking nix-ld
programs.nix-ld = {
enable = true;
libraries = with pkgs; [
(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
glew_1_10
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
];
};
}
-6
View File
@@ -1,6 +1,5 @@
{ pkgs, ... }: {
boot = {
plymouth = {
enable = true;
theme = "nixos-bgrt";
@@ -9,7 +8,6 @@
nixos-bgrt-plymouth
];
};
# Enable "Silent boot"
consoleLogLevel = 3;
initrd.verbose = false;
@@ -20,9 +18,5 @@
"udev.log_priority=3"
"rd.systemd.show_status=auto"
];
# Hide the OS choice for bootloaders.
# It's still possible to open the bootloader list by pressing any key
# It will just not appear on screen unless a key is pressed
};
}
@@ -6,4 +6,6 @@
nssmdns4 = true;
openFirewall = true;
};
#enable scanner support
hardware.sane.enable = true;
}
-7
View File
@@ -1,7 +0,0 @@
{ ... }:
{
services.teamspeak3 = {
enable = true;
openFirewall = true;
};
}
-2
View File
@@ -21,10 +21,8 @@
virtualisation = {
podman = {
enable = true;
# Create a `docker` alias for podman, to use it as a drop-in replacement
dockerCompat = true;
# Required for containers under podman-compose to be able to talk to each other.
defaultNetwork.settings.dns_enabled = true;
};