diff options
Diffstat (limited to 'nixos/configuration.nix')
| -rw-r--r-- | nixos/configuration.nix | 83 |
1 files changed, 51 insertions, 32 deletions
diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 0992ccd..760c077 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -22,6 +22,7 @@ programs.nix-ld.enable = true; services.envfs.enable = true; security.polkit.enable = true; + # ========================================================================= # BOOT & KERNEL CONFIGURATION # ========================================================================= @@ -63,43 +64,42 @@ nvidiaSettings = true; package = config.boot.kernelPackages.nvidiaPackages.latest; }; - #Appimage settings + + # Appimage settings programs.appimage = { - enable = true; - binfmt = true; - package = pkgs.appimage-run.override { - extraPkgs = pkgs: [ - pkgs.webkitgtk_4_1 + enable = true; + binfmt = true; + package = pkgs.appimage-run.override { + extraPkgs = pkgs: [ + pkgs.webkitgtk_4_1 ]; }; }; - # ========================================================================= # NETWORKING, DNS & VPN # ========================================================================= networking.hostName = "opus"; networking.networkmanager.enable = true; + programs.amnezia-vpn.enable = true; + # Primary DNS Server: Mullvad DoT (Base Mode) + networking.nameservers = [ + "194.242.2.4#base.dns.mullvad.net" + "194.242.2.2#dns.mullvad.net" + ]; - # Systemd-Resolved (Encrypted DNS) + # systemd-resolved Configuration (Mullvad Base Primary -> Quad9 Fallback) services.resolved = { enable = true; - settings = { - Resolve = { - DNSOverTLS = "true"; - DNSSEC = "true"; - Domains = [ "~." ]; - DNS = "76.76.2.2#p2.freedns.controld.com"; - FallbackDNS = "1.1.1.1"; - }; - }; + dnsovertls = "opportunistic"; # Encrypts DNS via DoT, falls back if port 853 is blocked + dnssec = "false"; # Disables DNSSEC validation drops + domains = [ "~." ]; # Forces systemd-resolved to use global DNS, ignoring DHCP DNS + fallbackDns = [ + "9.9.9.9#dns.quad9.net" + "149.112.112.112#dns.quad9.net" + ]; }; - # Mullvad VPN Daemon - services.mullvad-vpn = { - enable = true; - package = pkgs.mullvad-vpn; - }; # Avahi (Printer / Network Discovery) services.avahi = { @@ -150,11 +150,12 @@ # ========================================================================= # SHELLS & ENHANCEMENTS # ========================================================================= -programs.fish = { + programs.fish = { enable = true; interactiveShellInit = '' set -g fish_greeting "" # Disables the welcome message - fzf --fish | source + fzf --fish | + source ''; shellAliases = { ls = "eza -al --icons=auto"; @@ -235,14 +236,13 @@ programs.fish = { alsa.support32Bit = true; pulse.enable = true; }; - - # Printing (CUPS) + # printer service services.printing = { enable = true; drivers = with pkgs; [ brlaser - gutenprint cups-filters + gutenprint ]; }; @@ -326,7 +326,8 @@ programs.fish = { # ========================================================================= # SYSTEM PACKAGES # ========================================================================= - environment.systemPackages = with pkgs; [ + environment.systemPackages = with pkgs; + [ # Flake Inputs & Hardware Overrides inputs.noctalia.packages.${pkgs.stdenv.hostPlatform.system}.default (btop.override { cudaSupport = true; }) @@ -334,6 +335,23 @@ programs.fish = { # Terminals & CLI Utilities cacert tree + pkgs.libsixel + libGL + nss + cups + libdrm + glib + pango + gtk3 + zlib + expat + alsa-lib + libxkbcommon + atk + pkg-config + cmake + + nftables pkgs.rsync duf eza @@ -362,7 +380,7 @@ programs.fish = { # Text Editors micro neovim - (emacs-pgtk.override { + (emacs.override { withNativeCompilation = true; }) @@ -407,13 +425,14 @@ programs.fish = { hunspellDicts.ru_RU nvidia-vaapi-driver opencode - telegram-desktop - vesktop + pkgs.ayugram-desktop + pkgs.legcord + pkgs.amnezia-vpn obsidian pkgs.lutris pkgs.qbittorrent pkgs.prismlauncher - + pkgs.wireshark # Software Development & Toolchains black cargo |
