{ config, pkgs, lib, nhekoSrc, mtxclientSrc, ... }: { imports = [ ../../modules/base-client.nix ../../modules/packages/vim.nix # ../../modules/environments/home.nix ../../modules/software-templates/profilers.nix ./postgres.nix ./mariadb.nix ./nginx.nix ]; boot = { kernelPackages = pkgs.linuxPackages_latest; loader = { grub = { enable = true; device = "nodev"; # nodev for EFI only # EFI efiSupport = true; efiInstallAsRemovable = true; }; }; #readOnlyNixStore = false; }; 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 = { enable = true; updateDbusEnvironment = true; videoDrivers = ["nvidia"]; #desktopManager.gnome.enable = true; libinput.enable = true; layout = "us"; windowManager.i3.enable = true; windowManager.i3.extraSessionCommands = '' # output from arandr: xrandr --output DP-0 --off --output DP-1 --off --output DP-2 --off --output DP-3 --off --output HDMI-0 --primary --mode 3840x2160 --pos 0x0 --rotate normal --output DP-4 --off --output DP-5 --mode 1920x1080 --pos 3840x1080 --rotate normal ${pkgs.polybarFull}/bin/polybar & ${pkgs.dunst}/bin/dunst & ${pkgs.feh}/bin/feh --no-fehbg --bg-fill ${../../modules/users/Rory/wallpaper.webp} ''; wacom.enable = true; }; picom.enable = true; picom.vSync = false; picom.backend = "glx"; #gnome = { # core-developer-tools.enable = false; # core-utilities.enable = false; # tracker-miners.enable = false; # tracker.enable = false; # sushi.enable = false; # rygel.enable = false; # gnome-user-share.enable = false; # gnome-remote-desktop.enable = false; # gnome-online-miners.enable = lib.mkForce false; # gnome-online-accounts.enable = false; # gnome-initial-setup.enable = false; # gnome-browser-connector.enable = false; # games.enable = false; # gnome-keyring.enable = lib.mkForce false; # evolution-data-server.enable = lib.mkForce false; # at-spi2-core.enable = lib.mkForce false; #}; openssh = { enable = true; extraConfig = '' MaxAuthTries 32 ''; }; pipewire = { enable = true; audio.enable = true; pulse.enable = true; wireplumber.enable = true; jack.enable = true; alsa.enable = true; }; }; sound.enable = true; users.users = { Rory = { isNormalUser = true; extraGroups = [ "wheel" "lp" "scanner" ]; packages = with pkgs; [ #gimp-with-plugins #xterm gnomeExtensions.vitals gnomeExtensions.runcat ]; initialPassword = "password"; }; }; environment.systemPackages = with pkgs; [ qt6.qtwayland gnome-console feh easyeffects kitty youtube-music # - IDEs jetbrains-toolbox jetbrains.rider jetbrains.webstorm github-copilot-intellij-agent dbeaver 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 #printing/scanning xsane gnome.simple-scan # 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 (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; }; #sounds.enable = true; #mime.enable = true; #menus.enable = true; #icons.enable = true; #autostart.enable = true; }; fonts = { fonts = 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 = { opengl = { enable = true; driSupport = true; driSupport32Bit = true; }; nvidia = { modesetting.enable = true; powerManagement.enable = false; powerManagement.finegrained = false; open = false; nvidiaSettings = true; nvidiaPersistenced = true; package = config.boot.kernelPackages.nvidiaPackages.stable; }; sane.enable = true; sane.extraBackends = [ pkgs.hplipWithPlugin pkgs.sane-airscan ]; pulseaudio.enable = false; }; programs.system-config-printer.enable = true; services = { gvfs.enable = true; saned.enable = true; system-config-printer.enable = true; ipp-usb.enable = true; printing = { enable = true; browsing = true; drivers = with pkgs; [ hplip ]; }; avahi = { enable = true; nssmdns = true; reflector = true; publish = { workstation = true; userServices = true; hinfo = true; enable = true; domain = true; addresses = true; }; }; }; 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! }