{ config, pkgs, lib, ... }: { imports = [ ../../modules/base-client.nix ../../modules/packages/vim.nix ../../modules/environments/home.nix ]; boot = { kernelPackages = pkgs.linuxPackages_latest; loader = { grub = { enable = true; device = "nodev"; # nodev for EFI only # EFI efiSupport = true; efiInstallAsRemovable = true; }; }; #readOnlyNixStore = false; }; 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; } ]; # useDHCP = true; }; time.timeZone = "Europe/Brussels"; i18n.defaultLocale = "en_US.UTF-8"; services = { xserver = { enable = true; #videoDrivers = [ "intel" ]; desktopManager.gnome.enable = true; libinput.enable = true; layout = "us"; #modules = [ pkgs.xorg.xf86videointel ]; }; 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; evolution-data-server.enable = lib.mkForce false; at-spi2-core.enable = lib.mkForce false; }; printing.enable = 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; hardware.pulseaudio.enable = false; users.users = { Rory = { isNormalUser = true; extraGroups = [ "wheel" ]; packages = with pkgs; [ #gimp-with-plugins #xterm gnomeExtensions.vitals gnomeExtensions.runcat ]; initialPassword = "password"; }; }; environment.systemPackages = with pkgs; [ wget neofetch lnav pciutils git lsd duf htop btop udisks gparted kitty.terminfo glxinfo jq yq pv dig cloud-utils sshfs cinnamon.nemo firefox-bin #epiphany gnome-console feh # Various extensions... # - Gnome #gnomeExtensions.vitals #gnomeExtensions.runcat # - Dont work on gnome 43: #gnomeExtensions.undecorate #gnomeExtensions.inactivity #gnomeExtensions.left-clock # - Vim vimPlugins.vim-nix # - zsh zsh zsh-powerlevel10k zsh-nix-shell zsh-you-should-use zsh-syntax-highlighting zsh-completions # - IDEs jetbrains-toolbox dbeaver insomnia #games osu-lazer-bin #steam steam-run steam-acf ]; programs.steam.enable = true; programs.steam.gamescopeSession.enable = true; environment.gnome.excludePackages = [ pkgs.orca pkgs.gnome-tour pkgs.gnome-user-docs ]; fonts.fonts = with pkgs; [ (nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) ]; nix = { settings = { experimental-features = [ "nix-command" "flakes" ]; auto-optimise-store = true; }; }; nixpkgs = { config.allowUnfree = true; }; security = { polkit.enable = true; sudo.wheelNeedsPassword = false; }; hardware.opengl = { enable = true; driSupport = true; driSupport32Bit = true; }; # Load nvidia driver for Xorg and Wayland services.xserver.videoDrivers = ["nvidia"]; hardware.nvidia = { # Modesetting is required. modesetting.enable = true; # Nvidia power management. Experimental, and can cause sleep/suspend to fail. powerManagement.enable = false; # Fine-grained power management. Turns off GPU when not in use. # Experimental and only works on modern Nvidia GPUs (Turing or newer). powerManagement.finegrained = false; # Use the NVidia open source kernel module (not to be confused with the # independent third-party "nouveau" open source driver). # Support is limited to the Turing and later architectures. Full list of # supported GPUs is at: # https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus # Only available from driver 515.43.04+ # Do not disable this unless your GPU is unsupported or if you have a good reason to. open = true; # Enable the Nvidia settings menu, # accessible via `nvidia-settings`. nvidiaSettings = true; # Optionally, you may need to select the appropriate driver version for your specific GPU. package = config.boot.kernelPackages.nvidiaPackages.stable; }; system.stateVersion = "22.11"; # DO NOT EDIT! }