From 5897af1a6c355f77c78f342d1d6f070670d14a4c Mon Sep 17 00:00:00 2001
From: Jon Santmyer <jon@jonsantmyer.com>
Date: Sat, 14 Oct 2023 10:53:18 -0400
Subject: remove redundant system folder. add useful programs.

---
 hosts/config.nix                           |  1 +
 hosts/jonbox/default.nix                   | 14 ++++++
 modules/games/default.nix                  |  3 ++
 modules/games/games.nix                    | 23 +++++++++
 modules/programs/programs.nix              | 36 ++++++++------
 systems/bluetooth.nix                      | 16 ------
 systems/default.nix                        | 75 ----------------------------
 systems/jonbox/default.nix                 | 80 ------------------------------
 systems/jonbox/filesystem.nix              | 33 ------------
 systems/jontest/default.nix                | 22 --------
 systems/jontest/filesystem.nix             | 11 ----
 systems/jontest/hardware-configuration.nix |  7 ---
 systems/jontop/default.nix                 | 32 ------------
 systems/jontop/filesystem.nix              | 16 ------
 systems/jontop/hardware-configuration.nix  |  7 ---
 15 files changed, 63 insertions(+), 313 deletions(-)
 create mode 100644 modules/games/default.nix
 create mode 100644 modules/games/games.nix
 delete mode 100644 systems/bluetooth.nix
 delete mode 100644 systems/default.nix
 delete mode 100644 systems/jonbox/default.nix
 delete mode 100644 systems/jonbox/filesystem.nix
 delete mode 100644 systems/jontest/default.nix
 delete mode 100644 systems/jontest/filesystem.nix
 delete mode 100644 systems/jontest/hardware-configuration.nix
 delete mode 100644 systems/jontop/default.nix
 delete mode 100644 systems/jontop/filesystem.nix
 delete mode 100644 systems/jontop/hardware-configuration.nix

diff --git a/hosts/config.nix b/hosts/config.nix
index 9bd3922..2052c12 100644
--- a/hosts/config.nix
+++ b/hosts/config.nix
@@ -7,6 +7,7 @@
         import ../modules/shell ++
         import ../modules/terminal ++
         import ../modules/programs ++
+        import ../modules/games ++
         import ../modules/vpn ++
         import ../modules/music
     );
diff --git a/hosts/jonbox/default.nix b/hosts/jonbox/default.nix
index 9d1a475..ca8d16f 100644
--- a/hosts/jonbox/default.nix
+++ b/hosts/jonbox/default.nix
@@ -26,6 +26,13 @@
         "nvidia-x11"
         "nvidia-settings"
         "nvidia-persistenced"
+        "code"
+        "vscode"
+    
+        "steam"
+        "steam-original"
+        "steam-run"
+        "vintagestory"
     ];
 
     #OpenGL
@@ -37,8 +44,15 @@
   
     #X11 Server
     services.xserver.videoDrivers = [ "nvidia" ];
+    home-manager.users.jon.gtk.cursorTheme = {
+        package = pkgs.quintom-cursor-theme;
+        name = "Quintom_Ink";
+        size = 12;
+    };
 
     awesome.enable = true;
     mullvad-vpn.enable = true;
     mpd.enable = true;
+
+    games.enable = true;
 }
diff --git a/modules/games/default.nix b/modules/games/default.nix
new file mode 100644
index 0000000..ff93482
--- /dev/null
+++ b/modules/games/default.nix
@@ -0,0 +1,3 @@
+[
+    ./games.nix
+]
diff --git a/modules/games/games.nix b/modules/games/games.nix
new file mode 100644
index 0000000..509b105
--- /dev/null
+++ b/modules/games/games.nix
@@ -0,0 +1,23 @@
+{ config, lib, pkgs, user, ... }:
+with lib;
+{
+    options = {
+        games = {
+            enable = mkOption {
+                type = types.bool;
+                default = false;
+            };
+        };
+    };
+
+    config = mkIf (config.games.enable) {
+        environment.systemPackages = with pkgs; [
+            steam-run
+        ];
+
+        home-manager.users.${user}.home.packages = with pkgs; [
+            minetest
+            vintagestory
+        ];
+    };
+}
diff --git a/modules/programs/programs.nix b/modules/programs/programs.nix
index b9a003f..2ef9ec9 100644
--- a/modules/programs/programs.nix
+++ b/modules/programs/programs.nix
@@ -1,19 +1,27 @@
-{ config, lib, pkgs, user, ... }:
+{ config, inputs, lib, pkgs, user, ... }:
 with lib;
 {
-    config.home-manager.users.${user} = mkIf (config.xserver.enable) {
-        home.packages = with pkgs; [
-            libreoffice
-            hunspell
-            hunspellDicts.en_US
+    config = mkIf (config.xserver.enable)
+    {
+        home-manager.users.${user} = {
+            home.packages = with pkgs; [
+                libreoffice
+                hunspell
+                hunspellDicts.en_US
+    
+                (pass.withExtensions (exts: [exts.pass-otp ]))
+                thefuck
+                mpc-cli
+                pavucontrol
+                qbittorrent
+                ffmpeg
+                mpv
+            ];
 
-            (pass.withExtensions (exts: [exts.pass-otp ]))
-            thefuck
-            mpc-cli
-            pavucontrol
-            qbittorrent
-            ffmpeg
-            mpv
-        ];
+            programs.vscode = {
+                enable = true;
+                package = pkgs.vscode.fhs;
+            };
+        };
     };
 }
diff --git a/systems/bluetooth.nix b/systems/bluetooth.nix
deleted file mode 100644
index d8eb230..0000000
--- a/systems/bluetooth.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ inputs, outputs, config, hostname, username, lib, pkgs, stateVersion, ... }:
-{
-    hardware.bluetooth.enable = true;
-    services.blueman.enable = true;
-
-    environment.etc = {
-        "wireplumber/bluetooth.lua.d/51-bluez-config.lua".text = ''
-bluez_monitor.properties = {
-    ["bluez5.enable-sbc-xq"] = true,
-    ["bluez5.enable-msbc"] = true,
-    ["bluez5.enable-hw-volume"] = true,
-    ["bluez5.headset-roles"] = "[ hsp_hs hsp_ag hfp_hf hfp_ag ]"
-}
-        '';
-    };
-}
diff --git a/systems/default.nix b/systems/default.nix
deleted file mode 100644
index 4f796dd..0000000
--- a/systems/default.nix
+++ /dev/null
@@ -1,75 +0,0 @@
-# Edit this configuration file to define what should be installed on
-# your system.  Help is available in the configuration.nix(5) man page
-# and in the NixOS manual (accessible by running ‘nixos-help’).
-
-{ inputs, outputs, config, hostname, username, lib, pkgs, stateVersion, ... }:
-
-{
-  imports =
-  [
-    ./${hostname}
-    ../users/jon.nix
-    ../programs/openvpn.nix
-  ];
-  
-  services.pipewire = {
-    enable = true;
-    alsa.enable = true;
-    alsa.support32Bit = true;
-    pulse.enable = true;
-  };
-
-  #Default packages for QOL
-  environment.systemPackages = with pkgs; [
-    binutils
-    clang-tools
-    gcc
-    gnutar
-    gnumake
-    gdb
-    unzip
-    wget
-  ];
-  programs.zsh.enable = true;
-  users.defaultUserShell = pkgs.zsh;
-  programs.neovim = {
-    enable = true;
-    defaultEditor = true;
-  };
-
-  #MPD
-  services.mpd = {
-    enable = true;
-    musicDirectory = "/var/mus";
-    extraConfig = ''
-audio_output {
-    type "alsa"
-    name "My ALSA"
-    mixer_type "hardware"
-    mixer_device "device"
-    mixer_control "PCM"
-}
-    '';
-    network.listenAddress = "any";
-  };
-
-  #GPG
-  programs.gnupg.agent = {
-    enable = true;
-    enableSSHSupport = true;
-  };
-
-  # Open ports in the firewall.
-  # networking.firewall.allowedTCPPorts = [ ... ];
-  # networking.firewall.allowedUDPPorts = [ ... ];
-  # Or disable the firewall altogether.
-  # networking.firewall.enable = false;
-
-  # This value determines the NixOS release from which the default
-  # settings for stateful data, like file locations and database versions
-  # on your system were taken. It‘s perfectly fine and recommended to leave
-  # this value at the release version of the first install of this system.
-  # Before changing this value read the documentation for this option
-  # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
-
-}
diff --git a/systems/jonbox/default.nix b/systems/jonbox/default.nix
deleted file mode 100644
index 836302e..0000000
--- a/systems/jonbox/default.nix
+++ /dev/null
@@ -1,80 +0,0 @@
-{ inputs, config, lib, modulesPath, pkgs, ... }:
-
-{
-  imports =
-  [ # Include the results of the hardware scan.
-    (modulesPath + "/installer/scan/not-detected.nix")
-    ./filesystem.nix
-    ../bluetooth.nix
-  ];
-
-  #Unfree-packages.
-  nixpkgs.config.allowUnfreePredicate = pkg:
-    builtins.elem (lib.getName pkg) [
-    "nvidia-x11"
-    "nvidia-settings"
-    "nvidia-persistenced"
-  ];
-
-  #Bootloader
-  boot.loader.systemd-boot.enable = true;
-  boot.loader.efi.canTouchEfiVariables = true;
-
-  boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" "sr_mod" ];
-  boot.initrd.kernelModules = [ ];
-  boot.kernelModules = [ "kvm-intel" ];
-  boot.extraModulePackages = [ ];
-
-  #SSD-optimization
-  services.fstrim.enable = true;
-
-  #OpenGL
-  hardware.opengl = {
-    enable = true;
-    driSupport = true;
-    driSupport32Bit = true;
-  };
-  
-  #X11 Server
-  services.xserver = {
-    enable = true;
-    layout = "us";
-    xkbVariant = "";
-    videoDrivers = [ "nvidia" ];
-
-    displayManager = {
-      gdm.enable = true;
-      defaultSession = "none+awesome";
-    };
-
-    windowManager.awesome = {
-      enable = true;
-      luaModules = with pkgs.luaPackages; [
-	luarocks
-	luadbi-mysql
-      ];
-    };
-  };
-
-  #NVidia
-  hardware.nvidia = {
-    modesetting.enable = true;
-    powerManagement.enable = false;
-    powerManagement.finegrained = false;
-    open = true;
-    nvidiaSettings = true;
-    package = config.boot.kernelPackages.nvidiaPackages.stable;
-  };
-
-  #Virtualization
-  virtualisation.libvirtd.enable = true;
-  programs.dconf.enable = true;
-  environment.systemPackages = with pkgs; [ 
-    virt-manager
-    libguestfs
-    guestfs-tools
-  ];
-
-  nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
-  hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
-}
diff --git a/systems/jonbox/filesystem.nix b/systems/jonbox/filesystem.nix
deleted file mode 100644
index 4faa688..0000000
--- a/systems/jonbox/filesystem.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ config, lib, pkgs, modulesPath, ... }:
-
-{
-  fileSystems."/" =
-    { device = "/dev/disk/by-uuid/83cafaff-8be3-477f-b13c-c47dafdf969d";
-      fsType = "btrfs";
-      options = [ "subvol=@" ];
-    };
-
-  fileSystems."/boot" =
-    { device = "/dev/disk/by-uuid/40EA-5550";
-      fsType = "vfat";
-    };
-
-  fileSystems."/mnt/jonshare" = {
-    device = "homenas:/var/data/jon";
-    fsType = "nfs";
-  };
-
-  fileSystems."/mnt/plexshare" = {
-    device = "homenas:/var/data/plex";
-    fsType = "nfs";
-  };
-
-  fileSystems."/mnt/share" = {
-    device = "homenas:/var/data/shared";
-    fsType = "nfs";
-  };
-
-  swapDevices =
-    [ { device = "/dev/disk/by-uuid/acfc7ea5-0787-4e05-bcf1-20b7adb0f35c"; }
-    ];
-}
diff --git a/systems/jontest/default.nix b/systems/jontest/default.nix
deleted file mode 100644
index b2a7f82..0000000
--- a/systems/jontest/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ lib, modulesPath, pkgs, ... }:
-
-{
-  imports =
-  [ # Include the results of the hardware scan.
-    (modulesPath + "/profiles/qemu-guest.nix")
-    ./filesystem.nix
-  ];
-
-  boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "virtio_scsi" "sr_mod" "virtio_blk" ];
-  boot.kernelPackages = pkgs.linuxPackages_latest;
-
-  # Bootloader.
-  boot.loader.grub.enable = true;
-  boot.loader.grub.device = "/dev/vda";
-  boot.loader.grub.useOSProber = true;
-
-  services.qemuGuest.enable = true;
-  services.spice-vdagentd.enable = true;
-
-  nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
-}
diff --git a/systems/jontest/filesystem.nix b/systems/jontest/filesystem.nix
deleted file mode 100644
index e247a9d..0000000
--- a/systems/jontest/filesystem.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ ... }:
-{
-  fileSystems."/" =
-    { device = "/dev/disk/by-uuid/a6804a93-979a-4596-879d-8b2fe8332541";
-      fsType = "ext4";
-    };
-
-  swapDevices =
-    [ { device = "/dev/disk/by-uuid/e6e941fe-f3a4-4b5e-960c-74d65e1e6257"; }
-    ];
-}
diff --git a/systems/jontest/hardware-configuration.nix b/systems/jontest/hardware-configuration.nix
deleted file mode 100644
index 62427e0..0000000
--- a/systems/jontest/hardware-configuration.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-# Do not modify this file!  It was generated by ‘nixos-generate-config’
-# and may be overwritten by future invocations.  Please make changes
-# to /etc/nixos/configuration.nix instead.
-{ config, lib, pkgs, modulesPath, ... }:
-
-{
-}
diff --git a/systems/jontop/default.nix b/systems/jontop/default.nix
deleted file mode 100644
index 43ffcea..0000000
--- a/systems/jontop/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ inputs, config, lib, modulesPath, pkgs, ... }:
-
-{
-  imports =
-  [ # Include the results of the hardware scan.
-    (modulesPath + "/installer/scan/not-detected.nix")
-    inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x220
-    ./filesystem.nix
-  ];
-
-  boot.loader.systemd-boot.enable = true;
-  boot.loader.efi.canTouchEfiVariables = true;
-
-  boot.initrd.availableKernelModules = [ "ehci_pci" "ahci" "usb_storage" "sd_mod" "sdhci_pci" ];
-  boot.initrd.kernelModules = [ "i915" ];
-  boot.kernelModules = [ "kvm-intel" ];
-  boot.extraModulePackages = [ ];
-
-  hardware.opengl = {
-    enable = true;
-  };
-
-  hardware.bluetooth.enable = true;
-  services.blueman.enable = true;
-
-  programs.light.enable = true;
-
-  services.fstrim.enable = true;
-
-  nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
-  hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
-}
diff --git a/systems/jontop/filesystem.nix b/systems/jontop/filesystem.nix
deleted file mode 100644
index 5117680..0000000
--- a/systems/jontop/filesystem.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ ... }:
-{
-  fileSystems."/" =
-    { device = "/dev/disk/by-uuid/72e455f9-4b10-4cb2-a8e4-cfe39c4a8d1f";
-      fsType = "btrfs";
-    };
-
-  fileSystems."/boot" =
-    { device = "/dev/disk/by-uuid/27F7-4AFD";
-      fsType = "vfat";
-    };
-
-  swapDevices =
-    [ { device = "/dev/disk/by-uuid/4133a381-ab7d-4a25-9013-3f4b2d31bc5a"; }
-    ];
-}
diff --git a/systems/jontop/hardware-configuration.nix b/systems/jontop/hardware-configuration.nix
deleted file mode 100644
index 62427e0..0000000
--- a/systems/jontop/hardware-configuration.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-# Do not modify this file!  It was generated by ‘nixos-generate-config’
-# and may be overwritten by future invocations.  Please make changes
-# to /etc/nixos/configuration.nix instead.
-{ config, lib, pkgs, modulesPath, ... }:
-
-{
-}
-- 
cgit v1.2.1