{ config, pkgs, lib, nhekoSrc, mtxclientSrc, ... }: { imports = [ # base imports ../../modules/base-client.nix ../../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 #./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; }; 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-portable"; 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 = ["amdgpu"]; #"nvidia" #desktopManager.gnome.enable = true; xkb.layout = "us"; windowManager.i3.enable = true; windowManager.i3.extraSessionCommands = '' # output from arandr: #xrandr --output DP-1 --mode 1920x1080 --pos 3840x1080 --rotate normal --output HDMI-1 --mode 3840x2160 --pos 0x0 --rotate normal --output HDMI-2 --off --output DP-2 --off #xrandr --output HDMI-1 --mode 3840x2160 --pos 0x0 --rotate normal --primary --output DP-1 --mode 1920x1080 --pos 3840x1080 --rotate normal --output HDMI-2 --off --output DP-2 --off ${pkgs.polybarFull}/bin/polybar & ${pkgs.dunst}/bin/dunst & ${pkgs.feh}/bin/feh --no-fehbg --bg-fill ${../../modules/users/Rory/wallpaper.webp} ''; }; libinput.enable = true; picom.enable = true; picom.vSync = false; picom.backend = "glx"; 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" ]; packages = with pkgs; [ #gimp-with-plugins #xterm #gnomeExtensions.vitals #gnomeExtensions.runcat ]; initialPassword = "password"; }; }; 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 # extra packages dmenu cinnamon.nemo gnome.file-roller firefox-bin ungoogled-chromium #needed for Rider in order to debug WASM 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; }; #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 = { 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! }