{ pkgs, inputs, ... }: { #system.includeBuildDependencies = true; # THIS CAN'T BE INCLUDED IN COMMON YET BECAUSE SERVER DOES NOT HAVE ENOUGH STORAGE hardware.graphics = { enable = true; }; qt.style = "adwaita-dark"; qt.platformTheme = "gnome"; hardware.bluetooth.enable = true; hardware.bluetooth.powerOnBoot = true; services.libinput.enable = true; # hyprland and trackpad # Enable CUPS to print documents. services.printing.enable = true; services.avahi = { enable = true; nssmdns4 = true; openFirewall = true; }; services.tailscale.enable = true; # Enable automatic login for the user. # services.displayManager.autoLogin.enable = true; # services.displayManager.autoLogin.user = "admin"; # Workaround for GNOME autologin: https://github.com/NixOS/nixpkgs/issues/103746#issuecomment-945091229 systemd.services."getty@tty1".enable = false; systemd.services."autovt@tty1".enable = false; #services.xserver.desktopManager.retroarch.extraArgs = [ # "--config=/mnt/services/emulators/retroarch/retroarch.cfg" #]; #services.ollama = { # enable = true; # openFirewall = true; # host = "0.0.0.0"; # # Optional: preload models, see https://ollama.com/library # loadModels = [ "gemma4" ]; # package = pkgs.ollama-cuda; #}; programs.chromium = { enable = true; homepageLocation = "https://dashboard.mektem.com"; extraOpts = { "SpellcheckEnabled" = true; "BrowserThemeColor" = "#100f0f"; }; }; hardware.keyboard.qmk.enable = true; services.logind.settings."Login"."HandlePowerKey" = "suspend"; boot = { # Graphical boot plymouth.enable = true; # Allow higher virtual memory for games kernel.sysctl."vm.max_map_count" = 2147483642; initrd.systemd.enable = true; # LUKS login prompt consoleLogLevel = 3; initrd.verbose = false; kernelParams = [ "quiet" "udev.log_level=3" "systemd.show_status=auto" "rd.udev.log_level=3" ]; }; #services.udev.packages = [ pkgs.via ]; nixpkgs.overlays = [ (final: _: { # this allows you to access `pkgs.unstable` anywhere in your config unstable = import inputs.nixpkgs-unstable { inherit (final.stdenv.hostPlatform) system; inherit (final) config; }; }) ]; environment.systemPackages = with pkgs; [ brave firefox blender audacity orca-slicer gimp inkscape #unstable.protonmail-desktop #bitwarden-desktop libreoffice freecad kiwix obs-studio obsidian #unstable.proton-authenticator #x86 only prismlauncher unstable.signal-desktop #tor-browser #x86 only wireshark monero-gui moonlight-qt #nvtopPackages.nvidia dconf-editor kdePackages.kdenlive element-desktop chirp scrcpy veracrypt lmms restic-browser texliveFull # games #gnome-2048 #gnome-chess #cataclysm-dda #endless-sky ##mindustry #x86 only #openrct2 #openttd ##osu-lazer-bin #x86 only ##runelite #x86 only #unciv #webcord #wesnoth #xonotic #zeroad # 0ad # game utils mangohud #umu-launcher #x86 only # emu #ryubing #xemu #xenia-canary #86 only #retroarch-full #rpcs3 #dolphin-emu #cemu #x86 only # backup keepassxc ]; fonts.fontconfig = { antialias = true; cache32Bit = true; hinting.enable = true; hinting.autohint = true; }; #services.sunshine = { # enable = true; # autoStart = true; # capSysAdmin = true; # openFirewall = true; # package = pkgs.sunshine.override { # cudaSupport = true; # }; #}; #services.hardware.openrgb.enable = true; #services.hardware.openrgb.package = pkgs.openrgb-with-all-plugins; programs = { localsend = { enable = true; openFirewall = true; }; #coolercontrol = { # enable = true; #}; gamescope = { enable = true; #capSysNice = true; }; #steam = { #x86 only # enable = true; # gamescopeSession.enable = true; # remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play # dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server # localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers #}; #gamemode.enable = true; }; fileSystems."/mnt/media" = { device = "//192.168.0.30/media"; fsType = "cifs"; options = let # this line prevents hanging on network split automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s"; in [ "${automount_opts},credentials=/etc/nixos/smb-credentials,uid=1000,gid=1000" ]; }; fileSystems."/mnt/services" = { device = "//192.168.0.30/services"; fsType = "cifs"; options = let # this line prevents hanging on network split automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s"; in [ "${automount_opts},credentials=/etc/nixos/smb-credentials,uid=1000,gid=1000" ]; }; fileSystems."/mnt/data" = { device = "//192.168.0.30/data"; fsType = "cifs"; options = let # this line prevents hanging on network split automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s"; in [ "${automount_opts},credentials=/etc/nixos/smb-credentials,uid=1000,gid=1000" ]; }; #programs.virt-manager.enable = true; #users.groups.libvirtd.members = [ "admin" ]; #virtualisation.libvirtd = { # enable = true; # qemu.swtpm.enable = true; #}; #virtualisation.spiceUSBRedirection.enable = true; imports = [ inputs.nix-flatpak.nixosModules.nix-flatpak ]; services.flatpak = { enable = true; update.auto = { enable = true; onCalendar = "weekly"; # Default value }; # packages = [ # "com.bitwarden.desktop" # "com.orcaslicer.OrcaSlicer" # "me.proton.Mail" # "org.audacityteam.Audacity" # "org.blender.Blender" # "org.freecad.FreeCAD" # "org.gimp.GIMP" # "org.inkscape.Inkscape" # "org.kiwix.desktop" # "org.libreoffice.LibreOffice" # "md.obsidian.Obsidian" # "com.obsproject.Studio" # "org.prismlauncher.PrismLauncher" # "org.wireshark.Wireshark" # "org.getmonero.Monero" # "com.moonlight_stream.Moonlight" # "org.kde.kdenlive" # "im.riot.Riot" # "com.chirpmyradio.chirp" # "io.lmms.LMMS" # # games # "com.github.Anuken.Mindustry" # "com.play0ad.zeroad" # "io.github.endless_sky.endless_sky" # "io.github.spacingbat3.webcord" # "io.github.yairm210.unciv" # "io.openrct2.OpenRCT2" # "net.runelite.RuneLite" # "org.cataclysmdda.CataclysmDDA" # "org.openttd.OpenTTD" # "org.wesnoth.Wesnoth" # "org.xonotic.Xonotic" # "sh.ppy.osu" # # # emu # "io.github.ryubing.Ryujinx" # "app.xemu.xemu" # "net.rpcs3.RPCS3" # "org.DolphinEmu.dolphin-emu" # "info.cemu.Cemu" # # backup # "org.keepassxc.KeePassXC" # # ]; }; }