summary refs log tree commit diff
diff options
context:
space:
mode:
-rwxr-xr-xflake.nix2
-rw-r--r--host/Rory-desktop/configuration.nix80
-rwxr-xr-xmodules/base-client.nix2
-rwxr-xr-xmodules/base.nix9
-rwxr-xr-xmodules/environments/home.nix17
-rw-r--r--modules/packages/discord-screenaudio.nix57
-rw-r--r--modules/packages/dotnet-pack.nix26
-rwxr-xr-xmodules/users/Rory.nix20
8 files changed, 167 insertions, 46 deletions
diff --git a/flake.nix b/flake.nix
index a30d9a8..b8c8b6d 100755
--- a/flake.nix
+++ b/flake.nix
@@ -81,6 +81,8 @@
         ];
         specialArgs = {
           inherit home-manager;
+          inherit (inputs) mtxclientSrc;
+          inherit (inputs) nhekoSrc;
         };
       };
 
diff --git a/host/Rory-desktop/configuration.nix b/host/Rory-desktop/configuration.nix
index 6d7f3d0..78c684a 100644
--- a/host/Rory-desktop/configuration.nix
+++ b/host/Rory-desktop/configuration.nix
@@ -1,4 +1,4 @@
-{ config, pkgs, lib, ... }:
+{ config, pkgs, lib, nhekoSrc, mtxclientSrc, ... }:
 
 {
   imports =
@@ -6,6 +6,7 @@
       ../../modules/base-client.nix
       ../../modules/packages/vim.nix
       ../../modules/environments/home.nix
+      ../../modules/software-templates/profilers.nix
     ];
 
     boot = {
@@ -37,6 +38,7 @@
       prefixLength = 24;
     } ];
 
+    defaultGateway = "192.168.0.1";
     # useDHCP = true;
   };
 
@@ -51,7 +53,23 @@
       libinput.enable = true;
       layout = "us";
       #modules = [ pkgs.xorg.xf86videointel ];
+      windowManager.i3.enable = true;
+      windowManager.i3.extraPackages = with pkgs; [
+        dmenu
+        i3status
+        polybarFull
+        dunst
+      ];
+      windowManager.i3.extraSessionCommands = ''
+        xrandr --output DP-5 --auto --pos -1920x1080
+        xrandr --output HDMI-0 --auto --primary --pos 1920x0
+        polybar &
+        dunst &
+      '';
     };
+    picom.enable = true;
+    picom.vSync = false;
+    picom.backend = "glx";
     gnome = {
       core-developer-tools.enable = false;
       core-utilities.enable = false;
@@ -66,6 +84,7 @@
       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;
     };
@@ -105,60 +124,37 @@
   };
 
   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
+    schildichat-desktop
+
     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
+    easyeffects
+    kitty
+    youtube-music
 
     # - IDEs
     jetbrains-toolbox
+    jetbrains.rider
+    
     dbeaver
     insomnia
+    vscode
+
+    # - Languages
+    #dotnet-sdk_7
+    #dotnet-sdk_8
+    (callPackage ../../modules/packages/dotnet-pack.nix { inherit pkgs; })
 
     #games
     osu-lazer-bin
     #steam
     steam-run
     steam-acf
-    
+
+    (callPackage ../../modules/packages/nheko-git.nix { inherit nhekoSrc; inherit mtxclientSrc; })
   ];
   programs.steam.enable = true;
   programs.steam.gamescopeSession.enable = true;
@@ -223,6 +219,12 @@
     package = config.boot.kernelPackages.nvidiaPackages.stable;
   };
 
+  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
+    '';
   
   system.stateVersion = "22.11"; # DO NOT EDIT!
 }
diff --git a/modules/base-client.nix b/modules/base-client.nix
index c5ebd22..7304ffe 100755
--- a/modules/base-client.nix
+++ b/modules/base-client.nix
@@ -36,10 +36,12 @@
     gparted
     arandr
     discord-development
+    gnome.gnome-screenshot
   ];
 
   fonts.fonts = with pkgs; [
     (nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
+    cozette
   ];
 
   systemd.coredump.extraConfig = lib.mkDefault ''
diff --git a/modules/base.nix b/modules/base.nix
index 22c1d3b..5727f00 100755
--- a/modules/base.nix
+++ b/modules/base.nix
@@ -94,6 +94,15 @@
     cloud-utils
     nix-output-monitor
     expect
+
+
+    # - zsh
+    zsh
+    zsh-powerlevel10k
+    zsh-nix-shell
+    zsh-you-should-use
+    zsh-syntax-highlighting
+    zsh-completions
   ];
 
   systemd.coredump.extraConfig = lib.mkDefault ''
diff --git a/modules/environments/home.nix b/modules/environments/home.nix
index 9bfb80e..0658abb 100755
--- a/modules/environments/home.nix
+++ b/modules/environments/home.nix
@@ -3,20 +3,24 @@
 {
   nix = {
     distributedBuilds = true;
-
-    buildMachines = [
-      #"self" = {
-      #  
-      #};
+# 
+    buildMachines = builtins.filter (machine: !builtins.any (ip: ip == machine.hostName) (builtins.map (iface: iface.ipv4.addresses) (builtins.attrValues config.networking.interfaces))) [
       {
         systems = [ "x86_64-linux" "i686-linux" ];
         hostName = "192.168.0.3";
         sshUser = "Rory";
         sshKey = "/home/Rory/.ssh/id_ed25519";
         maxJobs = 6;
-        #cores = 2;
         speedFactor = 43200;
       }
+      {
+        systems = [ "x86_64-linux" "i686-linux" ];
+        hostName = "192.168.0.59";
+        sshUser = "Rory";
+        sshKey = "/home/Rory/.ssh/id_ed25519";
+        maxJobs = 2;
+        speedFactor = 16000;
+      }
     ];
     
     #ssh://Rory@192.168.0.3 x86_64-linux,i686-linux /home/Rory/.ssh/id_ed25519 12 1 - - -
@@ -35,6 +39,7 @@
         "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
         "numtide.cachix.org-1:2ps1kLBUWjxIneOy1Ik6cQjb41X0iXVXeHigGmycPPE="
       ];
+      trusted-users = [ "root" "@wheel" "Rory" ];
     };
   };
 
diff --git a/modules/packages/discord-screenaudio.nix b/modules/packages/discord-screenaudio.nix
new file mode 100644
index 0000000..4bf7c11
--- /dev/null
+++ b/modules/packages/discord-screenaudio.nix
@@ -0,0 +1,57 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, wrapQtAppsHook
+, pkg-config
+, qtbase
+, qtwebengine
+, knotifications
+, kxmlgui
+, kglobalaccel
+, pipewire
+, xdg-desktop-portal
+}:
+
+stdenv.mkDerivation rec {
+  pname = "discord-screenaudio";
+  version = "1.9.0";
+
+  src = fetchFromGitHub {
+    owner = "maltejur";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-PPP/+7x0dcQHowB7hUZu85LK/G+ohrPeRB0vv6e3PBg=";
+    fetchSubmodules = true;
+  };
+
+  cmakeFlags = [
+    "-DPipeWire_INCLUDE_DIRS=${pipewire.dev}/include/pipewire-0.3"
+    "-DSpa_INCLUDE_DIRS=${pipewire.dev}/include/spa-0.2"
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    qtbase
+    qtwebengine
+    knotifications
+    kxmlgui
+    kglobalaccel
+    pipewire
+    pipewire.pulse
+    xdg-desktop-portal
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/maltejur/discord-screenaudio";
+    description = "A custom discord client that supports streaming with audio on Linux";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ michaelBelsanti ];
+  };
+}
diff --git a/modules/packages/dotnet-pack.nix b/modules/packages/dotnet-pack.nix
new file mode 100644
index 0000000..27c419d
--- /dev/null
+++ b/modules/packages/dotnet-pack.nix
@@ -0,0 +1,26 @@
+{ pkgs ? import <nixpkgs> {} }:
+
+#pkgs.stdenv.mkDerivation {
+#  name = "dotnet-pack";
+#  dontUnpack = true;
+#  buildInputs = with pkgs; [ dotnet-sdk dotnet-sdk_7 dotnet-sdk_8 ];
+#
+#  # Define the build phase
+#  buildPhase = ''
+#    mkdir -p $out
+#    ln -sf ${pkgs.dotnet-sdk}/* $out/
+#    ln -sf ${pkgs.dotnet-sdk_7}/* $out/
+#    ln -sf ${pkgs.dotnet-sdk_8}/* $out/
+#  '';
+#}
+
+pkgs.symlinkJoin {
+  name = "dotnet-pack";
+  paths = [ pkgs.dotnet-sdk_8 pkgs.dotnet-sdk_7 pkgs.dotnet-sdk ];
+  postBuild = ''
+    rm -rfv $out/bin
+    rm -rfv $out/dotnet
+    cp -rv ${pkgs.dotnet-sdk_8}/dotnet $out/
+    cp -rv ${pkgs.dotnet-sdk_8}/bin $out/
+  '';
+}
\ No newline at end of file
diff --git a/modules/users/Rory.nix b/modules/users/Rory.nix
index 25ab725..e57c220 100755
--- a/modules/users/Rory.nix
+++ b/modules/users/Rory.nix
@@ -127,7 +127,25 @@
 
       Install = { WantedBy = [ "default.target" ]; };
 
-      Service = { ExecStart = "${pkgs.keepassxc}/bin/keepassxc ~/.secrets.kdbx"; };
+      Service = { 
+        ExecStart = "${pkgs.keepassxc}/bin/keepassxc ~/.secrets.kdbx";
+        Restart = "always";
+      };
+    };
+
+    systemd.user.services.easyeffects = {
+      Unit = {
+        Description = "EasyEffects";
+        #After = [ "graphical-session-pre.target" ];
+        PartOf = [ "default.target" ];
+      };
+
+      Install = { WantedBy = [ "default.target" ]; };
+
+      Service = { 
+        ExecStart = "${pkgs.easyeffects}/bin/easyeffects";
+        Restart = "always";
+      };
     };
 
     programs.neovim.plugins = with pkgs.vimPlugins; [