my nix config
This commit is contained in:
commit
4fff769be9
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
hardware-configuration.nix
|
||||
488
configuration.nix
Normal file
488
configuration.nix
Normal file
@ -0,0 +1,488 @@
|
||||
# nixos-help
|
||||
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
# <home-manager/nixos>
|
||||
<nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix>
|
||||
];
|
||||
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
nix.settings.experimental-features = [ "nix-command"];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
signal-desktop
|
||||
upower
|
||||
wl-kbptr
|
||||
gcolor3
|
||||
wlr-randr
|
||||
cdrkit
|
||||
cdrtools
|
||||
samba
|
||||
# Idk what is unar, so I stick with this
|
||||
unrar-wrapper
|
||||
usbutils
|
||||
blender
|
||||
nushell
|
||||
keynav
|
||||
mozc
|
||||
dex
|
||||
lshw
|
||||
pax-utils
|
||||
patchelf
|
||||
wev
|
||||
keyd
|
||||
pciutils
|
||||
xsel
|
||||
copyq
|
||||
xdotool
|
||||
xorg.xwininfo
|
||||
xorg.xdpyinfo
|
||||
tg
|
||||
gmic
|
||||
gimpPlugins.gmic
|
||||
geogebra6
|
||||
netpbm
|
||||
brscan5
|
||||
brscan4
|
||||
sane-backends
|
||||
sane-frontends
|
||||
sane-airscan
|
||||
xsane
|
||||
uftpd
|
||||
wireshark
|
||||
inetutils
|
||||
playerctl
|
||||
#libguestfs-with-appliance
|
||||
#guestfs-tools
|
||||
ungoogled-chromium
|
||||
iw
|
||||
hmcl
|
||||
prismlauncher
|
||||
kvmtool
|
||||
qemu
|
||||
valgrind
|
||||
gnum4
|
||||
zlib
|
||||
libmd
|
||||
foliate
|
||||
pychess
|
||||
powerstat
|
||||
shaderc
|
||||
sqlite
|
||||
ghostscript
|
||||
img2pdf
|
||||
imagemagick
|
||||
cups
|
||||
weasis
|
||||
deluge
|
||||
id3v2
|
||||
#virtualbox
|
||||
vulkan-tools
|
||||
llama-cpp
|
||||
|
||||
xorg.xev
|
||||
xorg.xset
|
||||
xorg.xmodmap
|
||||
xorg.xinit
|
||||
wget
|
||||
git
|
||||
firefox
|
||||
xterm
|
||||
openbox
|
||||
zsh
|
||||
tmux
|
||||
telegram-desktop
|
||||
zsh-completions
|
||||
neofetch
|
||||
ly
|
||||
alsa-utils
|
||||
bluez
|
||||
tree
|
||||
cloc
|
||||
bluez-alsa
|
||||
cmus
|
||||
htop
|
||||
jetbrains.pycharm-community-bin
|
||||
picom
|
||||
linuxKernel.packages.linux_5_4.wireguard
|
||||
wireguard-tools
|
||||
pulsemixer
|
||||
nix-prefetch-git
|
||||
xclip
|
||||
p7zip
|
||||
tor-browser
|
||||
xcompmgr
|
||||
nix-search-cli
|
||||
ffmpeg_6-full
|
||||
qbittorrent
|
||||
openssh
|
||||
rsync
|
||||
ntfs3g
|
||||
calc
|
||||
flameshot
|
||||
gimp
|
||||
cups
|
||||
yt-dlp
|
||||
mpv
|
||||
xwallpaper
|
||||
vscodium # for tinymist
|
||||
rtorrent
|
||||
transmission_4
|
||||
typst
|
||||
zathura
|
||||
man-pages
|
||||
man-pages-posix
|
||||
mdbook
|
||||
libreoffice
|
||||
|
||||
nix-ld
|
||||
gcc
|
||||
xorg.libX11
|
||||
xorg.libXinerama
|
||||
xorg.libXft
|
||||
xorg.libXrandr
|
||||
xorg.xorgproto
|
||||
fontconfig
|
||||
gnumake
|
||||
pkg-config
|
||||
freetype
|
||||
xorg.libXrender
|
||||
python311
|
||||
|
||||
vim
|
||||
|
||||
gcr
|
||||
emacs
|
||||
|
||||
steam-tui
|
||||
steamcmd
|
||||
ratpoison
|
||||
|
||||
waybar # status bar
|
||||
wl-clipboard
|
||||
grim
|
||||
slurp # clipboard + screenshot tools
|
||||
foot
|
||||
];
|
||||
|
||||
|
||||
i18n.inputMethod = {
|
||||
enable = true;
|
||||
type = "fcitx5";
|
||||
fcitx5.addons = with pkgs; [
|
||||
fcitx5-mozc
|
||||
#fcitx5-mozc-ut
|
||||
fcitx5-gtk
|
||||
fcitx5-configtool
|
||||
];
|
||||
};
|
||||
|
||||
programs.sway = {
|
||||
enable = true;
|
||||
wrapperFeatures.gtk = true; # makes GTK apps get Wayland variables
|
||||
};
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-color-emoji
|
||||
comic-mono
|
||||
];
|
||||
|
||||
environment.variables = {
|
||||
WLR_NO_HARDWARE_CURSORS = "1";
|
||||
};
|
||||
|
||||
networking.hostName = "gaminglaptopg";
|
||||
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
time.timeZone = "Europe/Moscow";
|
||||
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "ru_RU.UTF-8";
|
||||
LC_IDENTIFICATION = "ru_RU.UTF-8";
|
||||
LC_MEASUREMENT = "ru_RU.UTF-8";
|
||||
LC_MONETARY = "ru_RU.UTF-8";
|
||||
LC_NAME = "ru_RU.UTF-8";
|
||||
LC_NUMERIC = "ru_RU.UTF-8";
|
||||
LC_PAPER = "ru_RU.UTF-8";
|
||||
LC_TELEPHONE = "ru_RU.UTF-8";
|
||||
LC_TIME = "ru_RU.UTF-8";
|
||||
};
|
||||
|
||||
|
||||
services.xserver = {
|
||||
enable=true;
|
||||
exportConfiguration = true;
|
||||
};
|
||||
|
||||
services.displayManager.ly.enable = true;
|
||||
# deng I hate stupid NIXOS
|
||||
#services.displayManager.ly.settings = {
|
||||
# hide_borders = false;
|
||||
# animation = "colormix";
|
||||
#};
|
||||
|
||||
users.extraGroups.vboxusers.members = [ "gregory" ];
|
||||
|
||||
security.sudo = {
|
||||
wheelNeedsPassword = false;
|
||||
};
|
||||
|
||||
users.groups.gregory = {};
|
||||
|
||||
users.users.gregory = {
|
||||
isNormalUser = true;
|
||||
description = "gregory";
|
||||
extraGroups = [ "networkmanager" "wheel" "gregory" "docker" "kvm" "scanner" "lp" ];
|
||||
packages = with pkgs; [];
|
||||
};
|
||||
|
||||
virtualisation.docker.enable = true;
|
||||
virtualisation.libvirtd.enable = true;
|
||||
#virtualisation.virtualbox.host.enable = true;
|
||||
|
||||
#environment.etc."xdg/picom.conf".source = ./picom.conf;
|
||||
|
||||
services.printing.enable = true;
|
||||
|
||||
hardware.sane = {
|
||||
enable = true;
|
||||
brscan4.enable = true;
|
||||
};
|
||||
|
||||
services.avahi = {
|
||||
enable = true;
|
||||
nssmdns4 = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
|
||||
services.logind.extraConfig = ''
|
||||
LidSwitchIgnoreInhibited=no
|
||||
HandleLidSwitch=ignore
|
||||
'';
|
||||
|
||||
programs.zsh.enable = true;
|
||||
|
||||
services.pulseaudio.enable = lib.mkForce false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
#jack.enable = true;
|
||||
wireplumber = {
|
||||
enable = true;
|
||||
configPackages = [
|
||||
(pkgs.writeTextDir "share/wireplumber/wireplumber.conf.d/51-disable-bt-suspend.conf" ''
|
||||
monitor.bluez.rules = [
|
||||
{
|
||||
matches = [
|
||||
{
|
||||
node.name = "~bluez_input.*"
|
||||
},
|
||||
{
|
||||
node.name = "~bluez_output.*"
|
||||
}
|
||||
]
|
||||
actions = {
|
||||
update-props = {
|
||||
session.suspend-timeout-seconds = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
'')
|
||||
];
|
||||
};
|
||||
};
|
||||
hardware.bluetooth.enable = true;
|
||||
hardware.bluetooth.powerOnBoot = true;
|
||||
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
};
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
#nixpkgs.config.allowBroken = true;
|
||||
|
||||
programs.slock.enable = true;
|
||||
|
||||
programs.nix-ld.enable = true;
|
||||
programs.nix-ld.libraries = with pkgs; [
|
||||
libidn2
|
||||
libmd
|
||||
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
|
||||
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
|
||||
xorg.libICE
|
||||
xorg.libSM
|
||||
xorg.libX11
|
||||
xorg.libXScrnSaver
|
||||
xorg.libXcomposite
|
||||
xorg.libXcursor
|
||||
xorg.libXdamage
|
||||
xorg.libXext
|
||||
xorg.libXfixes
|
||||
xorg.libXft
|
||||
xorg.libXi
|
||||
xorg.libXinerama
|
||||
xorg.libXmu
|
||||
xorg.libXrandr
|
||||
xorg.libXrender
|
||||
xorg.libXt
|
||||
xorg.libXtst
|
||||
xorg.libXxf86vm
|
||||
xorg.libpciaccess
|
||||
xorg.libxcb
|
||||
xorg.xcbutil
|
||||
xorg.xcbutilimage
|
||||
xorg.xcbutilkeysyms
|
||||
xorg.xcbutilrenderutil
|
||||
xorg.xcbutilwm
|
||||
xorg.xkeyboardconfig
|
||||
xz
|
||||
zlib
|
||||
];
|
||||
|
||||
# Enable OpenGL
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
|
||||
services.xserver.videoDrivers = [ "amdgpu" "nouveau" ];
|
||||
#services.xserver.videoDrivers = ["nvidia" "amdgpu" ];
|
||||
|
||||
#boot.blacklistedKernelModules = [
|
||||
# "nvidia" "nvidia_drm" "nvidia_uvm" "nvidia_modeset"
|
||||
#];
|
||||
|
||||
#hardware.nvidia = {
|
||||
# modesetting.enable = true;
|
||||
# powerManagement.enable = false;
|
||||
# powerManagement.finegrained = false;
|
||||
# open = false;
|
||||
# nvidiaSettings = true;
|
||||
# package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
#};
|
||||
|
||||
fileSystems."/mnt/ksblue64" = {
|
||||
device = "/dev/disk/by-label/KSBLUE64";
|
||||
fsType = "vfat";
|
||||
options = [ "nofail" ];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/transcend" = {
|
||||
device = "/dev/disk/by-label/TRANSCEND_FILMS";
|
||||
fsType = "ext4";
|
||||
options = [ "nofail" ];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/ksyellow128" = {
|
||||
device = "/dev/disk/by-label/KSYELLOW128";
|
||||
fsType = "ext4";
|
||||
options = ["nofail"];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/ksyellow128_2" = {
|
||||
device = "/dev/disk/by-label/KSYELLOW128_2";
|
||||
fsType = "ext4";
|
||||
options = ["nofail"];
|
||||
};
|
||||
|
||||
system.stateVersion = "24.11";
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user