summaryrefslogtreecommitdiff
path: root/nixos/configuration.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/configuration.nix')
-rw-r--r--nixos/configuration.nix83
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