507 lines
10 KiB
Nix
507 lines
10 KiB
Nix
# nixos-help
|
|
|
|
{ config, pkgs, lib, ... }:
|
|
|
|
{
|
|
imports = [
|
|
./hardware-configuration.nix
|
|
# <home-manager/nixos>
|
|
<nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix>
|
|
];
|
|
|
|
boot.initrd.luks.devices."luks-aaa4ee90-4242-428b-b086-9c33c03473fe".device = "/dev/disk/by-uuid/aaa4ee90-4242-428b-b086-9c33c03473fe";
|
|
services.getty.autologinUser = "gregory";
|
|
|
|
|
|
boot.loader.systemd-boot.enable = true;
|
|
boot.loader.efi.canTouchEfiVariables = true;
|
|
|
|
nix.settings.experimental-features = [ "nix-command"];
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
bc
|
|
optipng
|
|
#xdg-desktop-portal-wlr
|
|
i3status
|
|
waybar
|
|
qrencode
|
|
zbar
|
|
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
|
|
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
|
|
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
|
|
];
|
|
|
|
environment.etc."profile.local" = {
|
|
text = ''
|
|
export EDITOR=vim
|
|
'';
|
|
};
|
|
environment.etc."zshrc.local".text = builtins.readFile ./zshrc.local;
|
|
environment.etc."my_zsh_utils.zsh".text = builtins.readFile ./my_zsh_utils.zsh;
|
|
|
|
services.dbus.enable = true;
|
|
xdg.portal = {
|
|
enable = true;
|
|
wlr.enable = true;
|
|
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
|
};
|
|
|
|
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
|
|
font-awesome
|
|
];
|
|
|
|
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.xserver.displayManager.startx.enable = true;
|
|
|
|
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";
|
|
}
|