args@{ config, pkgs, lib, nhekoSrc, mtxclientSrc, ... }: { imports = [ # base imports ../../modules/base-client.nix # (import ../../modules/base-secrets.nix { path = "/home/rory/.config/sops/config.yaml"; }) ../../modules/packages/vim.nix # ../../modules/environments/home.nix ../../modules/software-templates/profilers.nix ./postgres.nix ./nginx.nix # hardware-specific imports ./optional/hardware-specific/amd.nix ./optional/gui/x11.nix ./optional/gui/wayland.nix #./printing.nix ./ollama.nix ]; boot = { kernelPackages = pkgs.linuxPackages_latest; loader = { grub = { enable = true; device = "nodev"; # nodev for EFI only # EFI efiSupport = true; efiInstallAsRemovable = true; }; }; #readOnlyNixStore = false; }; environment.sessionVariables = { ZSH_DISABLE_COMPFIX = "true"; }; services.udev.extraRules = '' #SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0664", GROUP="users" # SDP protocol KERNEL=="hidraw*", ATTRS{idVendor}=="1fc9", MODE="0666" ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1fc9", MODE="0666" ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0d28", MODE="0666" # Flashloader KERNEL=="hidraw*", ATTRS{idVendor}=="15a2", MODE="0666" # Controller KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="18d1", MODE="0666" SUBSYSTEMS=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="9400", MODE="0660", TAG+="uaccess" ''; networking = { hostName = "Rory-desktop"; networkmanager.enable = true; wireless.enable = false; firewall = { enable = false; # allowedTCPPorts = [ ... ]; # allowedUDPPorts = [ ... ]; }; interfaces.enp34s0.ipv4.addresses = [ { address = "192.168.0.3"; prefixLength = 24; } ]; defaultGateway = "192.168.0.1"; # useDHCP = true; }; time.timeZone = "Europe/Brussels"; i18n.defaultLocale = "en_US.UTF-8"; services = { xserver = { displayManager.gdm.enable = true; displayManager.lightdm.enable = false; enable = true; updateDbusEnvironment = true; xkb.layout = "us"; wacom.enable = true; }; libinput.enable = true; openssh = { enable = true; extraConfig = '' MaxAuthTries 32 ''; settings.PermitRootLogin = "yes"; }; pipewire = { enable = true; audio.enable = true; pulse.enable = true; wireplumber.enable = true; jack.enable = true; alsa.enable = true; }; }; sound.enable = true; environment.systemPackages = with pkgs; [ libreoffice qt6.qtwayland gnome-console feh easyeffects kitty youtube-music # - IDEs #jetbrains-toolbox jetbrains.rider #jetbrains.webstorm #jetbrains.clion github-copilot-intellij-agent dbeaver-bin #insomnia vscode # - Utilities inkscape-with-extensions gimp #-with-plugins # - Languages #dotnet-sdk_7 dotnet-sdk_8 #(callPackage ../../modules/packages/dotnet-pack.nix { inherit pkgs; }) #games osu-lazer-bin #steam steam-run steam-acf # extra packages dmenu cinnamon.nemo gnome.file-roller firefox-bin #ungoogled-chromium #needed for Rider in order to debug WASM #yuzu-early-access wineWowPackages.unstableFull winetricks #fragments peek unrar-wrapper #(schildichat-desktop.override { electron = electron; }) (callPackage ../../modules/packages/nheko-git.nix { inherit nhekoSrc; inherit mtxclientSrc; voipSupport = false; }) #(callPackage ../../modules/packages/mc/server/modpack/curseforge/techopolis-2/5.4.nix { }) #vesktop virt-viewer # (dwarf-fortress-packages.dwarf-fortress-full.override { enableStoneSense = true; enableFPS = true; theme = dwarf-fortress-packages.themes.spacefox; }) ]; programs.steam.enable = true; programs.steam.gamescopeSession.enable = true; #environment.gnome.excludePackages = [ # pkgs.orca # pkgs.gnome-tour # pkgs.gnome-user-docs #]; xdg = { portal = { enable = true; extraPortals = with pkgs; [ #xdg-desktop-portal-gtk xdg-desktop-portal-xapp (callPackage ../../modules/packages/xdg-desktop-portal-gtk.nix { }) ]; config = { common = { default = [ "gtk" ]; }; }; xdgOpenUsePortal = true; #gtkUsePortal = true; # deprecated }; #sounds.enable = true; #mime.enable = true; #menus.enable = true; #icons.enable = true; #autostart.enable = true; }; fonts = { packages = with pkgs; [ (nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) noto-fonts-monochrome-emoji ]; fontconfig.defaultFonts.monospace = with pkgs; [ "JetBrainsMonoNL Nerd Font,JetBrainsMonoNL NF:style=Regular" ]; fontconfig.defaultFonts.sansSerif = with pkgs; [ "JetBrainsMonoNL Nerd Font,JetBrainsMonoNL NF:style=Regular" ]; fontconfig.defaultFonts.serif = with pkgs; [ "JetBrainsMonoNL Nerd Font,JetBrainsMonoNL NF:style=Regular" ]; fontconfig.defaultFonts.emoji = with pkgs; [ "freefont" ]; enableDefaultPackages = lib.mkForce false; enableGhostscriptFonts = lib.mkForce false; }; nix = { settings = { experimental-features = [ "nix-command" "flakes" ]; auto-optimise-store = true; }; }; nixpkgs = { config = { allowUnfree = true; permittedInsecurePackages = [ "electron-25.9.0" ]; }; }; security = { polkit.enable = true; sudo.wheelNeedsPassword = false; }; hardware = { pulseaudio.enable = false; }; programs.dconf.enable = true; environment.etc."resolv.conf".text = '' nameserver 8.8.8.8 nameserver 8.4.4.8 nameserver 1.1.1.1 nameserver 1.0.0.1 ''; #networking.wireguard.interfaces = { # wg-KP-Ran = { #}; # }; virtualisation.libvirtd.enable = true; programs.virt-manager.enable = true; system.stateVersion = "22.11"; # DO NOT EDIT! }