summary refs log tree commit diff
path: root/host
diff options
context:
space:
mode:
Diffstat (limited to 'host')
-rw-r--r--host/Rory-desktop/configuration.nix215
1 files changed, 139 insertions, 76 deletions
diff --git a/host/Rory-desktop/configuration.nix b/host/Rory-desktop/configuration.nix
index 6b4a16b..fd63037 100644
--- a/host/Rory-desktop/configuration.nix
+++ b/host/Rory-desktop/configuration.nix
@@ -48,47 +48,44 @@
   services = {
     xserver = {
       enable = true;
+      updateDbusEnvironment = true;
+      videoDrivers = ["nvidia"];
       #videoDrivers = [ "intel" ];
-      desktopManager.gnome.enable = true;
+      #desktopManager.gnome.enable = true;
       libinput.enable = true;
       layout = "us";
       #modules = [ pkgs.xorg.xf86videointel ];
       windowManager.i3.enable = true;
-      windowManager.i3.extraPackages = with pkgs; [
-        dmenu
-        i3status
-        polybarFull
-        dunst
-      ];
+      #windowManager.i3.extraPackages = with pkgs; [ ];
       windowManager.i3.extraSessionCommands = ''
         xrandr --output DP-5 --auto --pos -1920x1080
         xrandr --output HDMI-0 --auto --primary --pos 1920x0
         polybar &
         dunst &
       '';
+      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;
-    };
-    printing.enable = false;
+    #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 = ''
@@ -106,12 +103,11 @@
   };
 
   sound.enable = true;
-  hardware.pulseaudio.enable = false;
 
   users.users = {
     Rory = {
       isNormalUser = true;
-      extraGroups = [ "wheel" ];
+      extraGroups = [ "wheel" "lp" "scanner" ];
       packages = with pkgs; [
         #gimp-with-plugins
 
@@ -124,10 +120,6 @@
   };
 
   environment.systemPackages = with pkgs; [
-    cinnamon.nemo
-    firefox-bin
-
-    schildichat-desktop
 
     gnome-console
     feh
@@ -138,6 +130,8 @@
     # - IDEs
     jetbrains-toolbox
     jetbrains.rider
+    github-copilot-intellij-agent
+    
     
     dbeaver
     insomnia
@@ -154,20 +148,74 @@
     steam-run
     steam-acf
 
-    (callPackage ../../modules/packages/nheko-git.nix { inherit nhekoSrc; inherit mtxclientSrc; })
+    #printing/scanning
+    xsane
+    gnome.simple-scan
+
+    # extra packages
+    dmenu
+    i3status
+    polybarFull
+    dunst
+
+    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; })
   ];
   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" ]; })
-  ];
+  #environment.gnome.excludePackages = [
+  #  pkgs.orca
+  #  pkgs.gnome-tour
+  #  pkgs.gnome-user-docs
+  #];
+  xdg = {
+    portal = {
+      enable = true;
+      extraPortals = with pkgs; [
+        xdg-desktop-portal-gtk
+      ];
+      xdgOpenUsePortal = 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" ];
@@ -182,49 +230,64 @@
     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;
+  hardware = {
+    opengl = {
+      enable = true;
+      driSupport = true;
+      driSupport32Bit = true;
+    };
 
-    # Enable the Nvidia settings menu,
-	# accessible via `nvidia-settings`.
-    nvidiaSettings = true;
+    nvidia = {
+      modesetting.enable = true;
+      powerManagement.enable = false;
+      powerManagement.finegrained = false;
+      open = true;
+      nvidiaSettings = true;
+      package = config.boot.kernelPackages.nvidiaPackages.stable;
+    };
 
-    # Optionally, you may need to select the appropriate driver version for your specific GPU.
-    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 = {
+    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 = {
+
+      #};
+   # };
   
   system.stateVersion = "22.11"; # DO NOT EDIT!
 }