Initial nixos config edits

This commit is contained in:
2025-07-12 18:23:09 +05:00
parent 74c6a29a13
commit 9469b546a5
21 changed files with 95 additions and 150 deletions

View File

@@ -6,7 +6,7 @@
# or get really full system upgrade, use `topgrade` CLI utility manually instead. # or get really full system upgrade, use `topgrade` CLI utility manually instead.
# I recommend running `topgrade` once a week or at least once a month) # I recommend running `topgrade` once a week or at least once a month)
system.autoUpgrade = { system.autoUpgrade = {
enable = true; enable = false;
operation = "switch"; # If you don't want to apply updates immediately, only after rebooting, use `boot` option in this case operation = "switch"; # If you don't want to apply updates immediately, only after rebooting, use `boot` option in this case
flake = "/etc/nixos"; flake = "/etc/nixos";
flags = [ "--update-input" "nixpkgs" "--update-input" "rust-overlay" "--commit-lock-file" ]; flags = [ "--update-input" "nixpkgs" "--update-input" "rust-overlay" "--commit-lock-file" ];

View File

@@ -2,7 +2,7 @@
{ {
# Enable Bluetooth # Enable Bluetooth
hardware.bluetooth.enable = true; hardware.bluetooth.enable = false;
hardware.bluetooth.powerOnBoot = false; hardware.bluetooth.powerOnBoot = false;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [

View File

@@ -2,7 +2,7 @@
{ {
services.clamav.scanner = { services.clamav.scanner = {
enable = true; enable = false;
interval = "Sat *-*-* 04:00:00"; interval = "Sat *-*-* 04:00:00";
}; };
} }

View File

@@ -2,7 +2,4 @@
{ {
# Setup Env Variables # Setup Env Variables
environment.variables.SPOTIFY_PATH = "${pkgs.spotify}/";
environment.variables.JDK_PATH = "${pkgs.jdk11}/";
environment.variables.NODEJS_PATH = "${pkgs.nodePackages_latest.nodejs}/";
} }

View File

@@ -3,8 +3,8 @@
{ {
# Enable fingerprint scanner # Enable fingerprint scanner
services.fprintd = { services.fprintd = {
enable = true; enable = false;
tod.enable = true; tod.enable = false;
tod.driver = pkgs.libfprint-2-tod1-goodix-550a; tod.driver = pkgs.libfprint-2-tod1-goodix-550a;
}; };
} }

View File

@@ -2,7 +2,7 @@
{ {
# Open ports in the firewall. # Open ports in the firewall.
networking.firewall.enable = true; networking.firewall.enable = false;
# networking.firewall.allowedTCPPorts = [ 3000 ]; # networking.firewall.allowedTCPPorts = [ 3000 ];
# networking.firewall.allowedUDPPorts = [ 3000 ]; # networking.firewall.allowedUDPPorts = [ 3000 ];
# Or disable the firewall altogether. # Or disable the firewall altogether.

View File

@@ -1,11 +1,11 @@
{ {
description = "XNM's NixOS Configuration"; description = "Andy's NixOS Configuration";
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
rust-overlay.url = "github:oxalica/rust-overlay"; # rust-overlay.url = "github:oxalica/rust-overlay";
wezterm.url = "github:wez/wezterm?dir=nix"; # wezterm.url = "github:wez/wezterm?dir=nix";
radicle-tui.url = "git+https://seed.radicle.xyz/z39mP9rQAaGmERfUMPULfPUi473tY.git"; # radicle-tui.url = "git+https://seed.radicle.xyz/z39mP9rQAaGmERfUMPULfPUi473tY.git";
}; };
outputs = { nixpkgs, ... } @ inputs: outputs = { nixpkgs, ... } @ inputs:
@@ -15,12 +15,12 @@
modules = [ modules = [
./configuration.nix ./configuration.nix
./hardware-configuration.nix ./hardware-configuration.nix
./nvidia.nix # ./nvidia.nix
# ./disable-nvidia.nix ./disable-nvidia.nix
./opengl.nix ./opengl.nix
# ./fingerprint-scanner.nix # ./fingerprint-scanner.nix
# ./clamav-scanner.nix # ./clamav-scanner.nix
./yubikey.nix # ./yubikey.nix
./sound.nix ./sound.nix
./usb.nix ./usb.nix
./keyboard.nix ./keyboard.nix
@@ -43,27 +43,27 @@
# ./printing.nix # ./printing.nix
# ./gnome.nix # ./gnome.nix
./hyprland.nix ./hyprland.nix
./environment-variables.nix # ./environment-variables.nix
./bluetooth.nix # ./bluetooth.nix
./networking.nix ./networking.nix
# ./mac-randomize.nix # ./mac-randomize.nix
# ./open-ssh.nix # ./open-ssh.nix
./mosh.nix # ./mosh.nix
./firewall.nix ./firewall.nix
./dns.nix ./dns.nix
./vpn.nix # ./vpn.nix
./users.nix ./users.nix
./virtualisation.nix ./virtualisation.nix
./programming-languages.nix # ./programming-languages.nix
./lsp.nix # ./lsp.nix
./rust.nix # ./rust.nix
./radicle.nix # ./radicle.nix
./wasm.nix # ./wasm.nix
./info-fetchers.nix ./info-fetchers.nix
./utils.nix ./utils.nix
./terminal-utils.nix ./terminal-utils.nix
./llm.nix # ./llm.nix
./work.nix # ./work.nix
]; ];
}; };
}; };

View File

@@ -7,7 +7,7 @@
withUWSM = true; withUWSM = true;
}; };
environment.sessionVariables.NIXOS_OZONE_WL = "1"; environment.sessionVariables.NIXOS_OZONE_WL = "1";
environment.sessionVariables.WLR_NO_HARDWARE_CURSORS = "1"; environment.sessionVariables.WLR_NO_HARDWARE_CURSORS = "0";
programs.hyprlock.enable = true; programs.hyprlock.enable = true;
services.hypridle.enable = true; services.hypridle.enable = true;
@@ -22,14 +22,15 @@
inputs.wezterm.packages.${pkgs.system}.default inputs.wezterm.packages.${pkgs.system}.default
kitty kitty
cool-retro-term # cool-retro-term
starship starship
helix helix
qutebrowser # qutebrowser
zathura # zathura
mpv # mpv
vlc
imv imv
]; ];
} }

View File

@@ -8,11 +8,11 @@
cpufetch cpufetch
ramfetch ramfetch
starfetch starfetch
octofetch # octofetch
htop htop
bottom bottom
btop btop
zfxtop # zfxtop
kmon kmon
# vulkan-tools # vulkan-tools
@@ -20,10 +20,10 @@
# clinfo # clinfo
# vdpauinfo # vdpauinfo
# libva-utils # libva-utils
nvtopPackages.nvidia # nvtopPackages.nvidia
nvtopPackages.intel # nvtopPackages.intel
wlr-randr wlr-randr
gpu-viewer # gpu-viewer
dig dig
speedtest-rs speedtest-rs
]; ];

View File

@@ -3,22 +3,21 @@
{ {
i18n.supportedLocales = [ i18n.supportedLocales = [
"en_US.UTF-8/UTF-8" "en_US.UTF-8/UTF-8"
"uk_UA.UTF-8/UTF-8"
"ru_RU.UTF-8/UTF-8" "ru_RU.UTF-8/UTF-8"
]; ];
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = { i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8"; LC_ADDRESS = "ru_RU.UTF-8/UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8"; LC_IDENTIFICATION = "ru_RU.UTF-8/UTF-8";
LC_MEASUREMENT = "en_US.UTF-8"; LC_MEASUREMENT = "ru_RU.UTF-8/UTF-8";
LC_MONETARY = "en_US.UTF-8"; LC_MONETARY = "ru_RU.UTF-8/UTF-8";
LC_NAME = "en_US.UTF-8"; LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8"; LC_NUMERIC = "ru_RU.UTF-8/UTF-8";
LC_PAPER = "en_US.UTF-8"; LC_PAPER = "ru_RU.UTF-8/UTF-8";
LC_TELEPHONE = "en_US.UTF-8"; LC_TELEPHONE = "ru_RU.UTF-8/UTF-8";
LC_TIME = "en_US.UTF-8"; LC_TIME = "ru_RU.UTF-8/UTF-8";
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
@@ -26,7 +25,6 @@
hyphen hyphen
hunspell hunspell
hunspellDicts.en_US hunspellDicts.en_US
hunspellDicts.uk_UA
hunspellDicts.ru_RU hunspellDicts.ru_RU
]; ];
} }

View File

@@ -2,16 +2,10 @@
{ {
services.xserver = { services.xserver = {
xkb.layout = "us,ua,ru"; xkb.layout = "us,ru";
xkb.options = "grp:alt_shift_toggle"; xkb.options = "grp:win_space_toggle";
}; };
environment.systemPackages = with pkgs; [
klavaro
gtypist
via
];
# services.kanata = { # services.kanata = {
# enable = true; # enable = true;
# keyboards = { # keyboards = {

View File

@@ -2,20 +2,20 @@
{ {
# Enable networking # Enable networking
networking.hostName = "isitreal-laptop"; # Define your hostname. networking.hostName = "vendetti"; # Define your hostname.
# Pick only one of the below networking options. # Pick only one of the below networking options.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. # networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
# networking.networkmanager.wifi.backend = "iwd"; # networking.networkmanager.wifi.backend = "iwd";
networking.wireless.iwd = { networking.wireless.iwd = {
enable = true; enable = false;
settings = { settings = {
General = { General = {
EnableNetworkConfiguration = true; EnableNetworkConfiguration = true;
}; };
Network = { Network = {
EnableIPv6 = true; EnableIPv6 = false;
}; };
Scan = { Scan = {
DisablePeriodicScan = true; DisablePeriodicScan = true;
@@ -27,8 +27,8 @@
# networking.proxy.default = "http://user:password@proxy:port/"; # networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
environment.systemPackages = with pkgs; [ # environment.systemPackages = with pkgs; [
iwgtk # iwgtk
impala # impala
]; # ];
} }

View File

@@ -3,12 +3,12 @@
{ {
# Enable the OpenSSH daemon. # Enable the OpenSSH daemon.
services.openssh = { services.openssh = {
enable = true; enable = false;
settings = { settings = {
PasswordAuthentication = false; PasswordAuthentication = false;
KbdInteractiveAuthentication = false; KbdInteractiveAuthentication = false;
PermitRootLogin = "no"; PermitRootLogin = "no";
AllowUsers = [ "xnm" ]; AllowUsers = [ "andy" ];
}; };
}; };
} }

View File

@@ -2,30 +2,30 @@
{ {
nixpkgs.config.packageOverrides = pkgs: { # nixpkgs.config.packageOverrides = pkgs: {
intel-vaapi-driver = pkgs.intel-vaapi-driver.override { enableHybridCodec = true; }; # intel-vaapi-driver = pkgs.intel-vaapi-driver.override { enableHybridCodec = true; };
}; # };
# Enable OpenGL # Enable OpenGL
hardware.graphics = { hardware.graphics = {
enable = true; enable = true;
enable32Bit = true; enable32Bit = true;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
intel-compute-runtime # intel-compute-runtime
intel-media-driver # LIBVA_DRIVER_NAME=iHD # intel-media-driver # LIBVA_DRIVER_NAME=iHD
intel-vaapi-driver # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium) # intel-vaapi-driver # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
vaapiVdpau # vaapiVdpau
libvdpau-va-gl # libvdpau-va-gl
mesa mesa
nvidia-vaapi-driver # nvidia-vaapi-driver
nv-codec-headers-12 # nv-codec-headers-12
]; ];
extraPackages32 = with pkgs.pkgsi686Linux; [ extraPackages32 = with pkgs.pkgsi686Linux; [
intel-media-driver # intel-media-driver
intel-vaapi-driver # intel-vaapi-driver
vaapiVdpau # vaapiVdpau
mesa mesa
libvdpau-va-gl # libvdpau-va-gl
]; ];
}; };
} }

View File

@@ -17,7 +17,7 @@
security.sudo.enable = false; security.sudo.enable = false;
users.users.root.hashedPassword = "!"; users.users.root.hashedPassword = "!";
security.tpm2 = { security.tpm2 = {
enable = true; enable = false;
pkcs11.enable = true; pkcs11.enable = true;
tctiEnvironment.enable = true; tctiEnvironment.enable = true;
}; };
@@ -32,7 +32,7 @@
security.pam.services = { security.pam.services = {
login.enableAppArmor = true; login.enableAppArmor = true;
sshd.enableAppArmor = true; # sshd.enableAppArmor = true;
sudo-rs.enableAppArmor = true; sudo-rs.enableAppArmor = true;
su.enableAppArmor = true; su.enableAppArmor = true;
greetd.enableAppArmor = true; greetd.enableAppArmor = true;
@@ -40,52 +40,28 @@
}; };
services.dbus.apparmor = "enabled"; services.dbus.apparmor = "enabled";
services.fail2ban.enable = true; # services.fail2ban.enable = true;
# security.polkit.enable = true; # security.polkit.enable = true;
programs.browserpass.enable = true; # programs.browserpass.enable = true;
services.clamav = { # services.clamav = {
daemon.enable = true; # daemon.enable = true;
fangfrisch.enable = true; # fangfrisch.enable = true;
fangfrisch.interval = "daily"; # fangfrisch.interval = "daily";
updater.enable = true; # updater.enable = true;
updater.interval = "daily"; #man systemd.time # updater.interval = "daily"; #man systemd.time
updater.frequency = 12; # updater.frequency = 12;
}; # };
programs.firejail = { programs.firejail = {
enable = true; enable = true;
wrappedBinaries = { wrappedBinaries = {
mpv = { vlc = {
executable = "${lib.getBin pkgs.mpv}/bin/mpv"; executable = "${lib.getBin pkgs.vlc}/bin/vlc";
profile = "${pkgs.firejail}/etc/firejail/mpv.profile"; profile = "${pkgs.firejail}/etc/firejail/vlc.profile";
};
imv = {
executable = "${lib.getBin pkgs.imv}/bin/imv";
profile = "${pkgs.firejail}/etc/firejail/imv.profile";
};
zathura = {
executable = "${lib.getBin pkgs.zathura}/bin/zathura";
profile = "${pkgs.firejail}/etc/firejail/zathura.profile";
};
discord = {
executable = "${lib.getBin pkgs.discord}/bin/discord";
profile = "${pkgs.firejail}/etc/firejail/discord.profile";
};
slack = {
executable = "${lib.getBin pkgs.slack}/bin/slack";
profile = "${pkgs.firejail}/etc/firejail/slack.profile";
}; };
telegram-desktop = { telegram-desktop = {
executable = "${lib.getBin pkgs.tdesktop}/bin/telegram-desktop"; executable = "${lib.getBin pkgs.tdesktop}/bin/telegram-desktop";
profile = "${pkgs.firejail}/etc/firejail/telegram-desktop.profile"; profile = "${pkgs.firejail}/etc/firejail/telegram-desktop.profile";
}; };
brave = {
executable = "${lib.getBin pkgs.brave}/bin/brave";
profile = "${pkgs.firejail}/etc/firejail/brave.profile";
};
qutebrowser = {
executable = "${lib.getBin pkgs.qutebrowser}/bin/qutebrowser";
profile = "${pkgs.firejail}/etc/firejail/qutebrowser.profile";
};
thunar = { thunar = {
executable = "${lib.getBin pkgs.xfce.thunar}/bin/thunar"; executable = "${lib.getBin pkgs.xfce.thunar}/bin/thunar";
profile = "${pkgs.firejail}/etc/firejail/thunar.profile"; profile = "${pkgs.firejail}/etc/firejail/thunar.profile";
@@ -99,7 +75,7 @@
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
vulnix #scan command: vulnix --system vulnix #scan command: vulnix --system
clamav #scan command: sudo freshclam; clamscan [options] [file/directory/-] # clamav #scan command: sudo freshclam; clamscan [options] [file/directory/-]
chkrootkit #scan command: sudo chkrootkit chkrootkit #scan command: sudo chkrootkit
# passphrase2pgp # passphrase2pgp

View File

@@ -14,8 +14,6 @@
gitleaks gitleaks
git-secrets git-secrets
pass-git-helper pass-git-helper
jujutsu
jjui
just just
xh xh
process-compose process-compose
@@ -28,13 +26,11 @@
rewrk rewrk
wrk2 wrk2
procs procs
tealdeer
# skim #fzf better alternative in rust # skim #fzf better alternative in rust
monolith monolith
# taskwarrior3 # taskwarrior3
asciinema asciinema
asciinema-agg asciinema-agg
aria
# wormhole-william # wormhole-william
magic-wormhole-rs magic-wormhole-rs
# macchina #neofetch alternative in rust # macchina #neofetch alternative in rust
@@ -44,12 +40,8 @@
duf duf
ncdu ncdu
du-dust du-dust
fd
jq
gh
trash-cli trash-cli
zoxide zoxide
tokei
fzf fzf
bat bat
hexyl hexyl
@@ -57,11 +49,6 @@
pandoc pandoc
lsd lsd
lsof lsof
gping
viu
tre-command
yazi
chafa
cmatrix cmatrix
pipes-rs pipes-rs

View File

@@ -40,10 +40,6 @@
size = "standard"; size = "standard";
variant = "macchiato"; variant = "macchiato";
}; };
discord = pkgs.discord.override {
withOpenASAR = true;
withTTS = true;
};
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [

View File

@@ -3,5 +3,5 @@
{ {
# Set your time zone. # Set your time zone.
time.hardwareClockInLocalTime = true; time.hardwareClockInLocalTime = true;
time.timeZone = "Europe/Kyiv"; time.timeZone = "Asia/Tashkent";
} }

View File

@@ -8,7 +8,7 @@
# Enable USB Guard # Enable USB Guard
services.usbguard = { services.usbguard = {
enable = true; enable = false;
dbus.enable = true; dbus.enable = true;
implicitPolicyTarget = "block"; implicitPolicyTarget = "block";
# FIXME: set yours pref USB devices (change {id} to your trusted USB device), use `lsusb` command (from usbutils package) to get list of all connected USB devices including integrated devices like camera, bluetooth, wifi, etc. with their IDs or just disable `usbguard` # FIXME: set yours pref USB devices (change {id} to your trusted USB device), use `lsusb` command (from usbutils package) to get list of all connected USB devices including integrated devices like camera, bluetooth, wifi, etc. with their IDs or just disable `usbguard`

View File

@@ -2,18 +2,14 @@
{ {
# Define a user account. Don't forget to set a password with passwd. # Define a user account. Don't forget to set a password with passwd.
users.users.xnm = { users.users.andy = {
isNormalUser = true; isNormalUser = true;
description = "xnm"; description = "andy";
extraGroups = [ "networkmanager" "input" "wheel" "video" "audio" "tss" ]; extraGroups = [ "networkmanager" "input" "wheel" "video" "audio" "tss" ];
shell = pkgs.fish; shell = pkgs.fish;
packages = with pkgs; [ packages = with pkgs; [
spotify telegram-desktop
youtube-music
discord
tdesktop
vscodium vscodium
brave
]; ];
}; };

View File

@@ -34,19 +34,19 @@
defaultNetwork.settings.dns_enabled = true; defaultNetwork.settings.dns_enabled = true;
}; };
environment.variables.DBX_CONTAINER_MANAGER = "podman"; environment.variables.DBX_CONTAINER_MANAGER = "podman";
users.extraGroups.podman.members = [ "xnm" ]; users.extraGroups.podman.members = [ "andy" ];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
nvidia-docker # nvidia-docker
nerdctl # nerdctl
# firecracker # firecracker
# firectl # firectl
# flintlock # flintlock
distrobox # distrobox
qemu # qemu
lima # lima
podman-compose podman-compose
podman-tui podman-tui