From 2f4788c73ce9d595a2f3df45443b2e34703b3f53 Mon Sep 17 00:00:00 2001
From: Nate Anderson <n8r@tuta.io>
Date: Fri, 15 Dec 2023 09:24:13 -0700
Subject: [PATCH] WIP nonfree

---
 flake.lock                    | 39 +++++++++++++++++++++++++++++++++++
 flake.nix                     | 20 ++++++++----------
 modules/home-manager/home.nix | 15 ++++++++++----
 3 files changed, 59 insertions(+), 15 deletions(-)

diff --git a/flake.lock b/flake.lock
index a14f075..8b4ed22 100644
--- a/flake.lock
+++ b/flake.lock
@@ -1,5 +1,43 @@
 {
   "nodes": {
+    "firefox-addons": {
+      "inputs": {
+        "flake-utils": "flake-utils",
+        "nixpkgs": [
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "dir": "pkgs/firefox-addons",
+        "lastModified": 1702612985,
+        "narHash": "sha256-dnlw/lHJO2Fk/jUHzkz4dYKHF4nQxmHps9Jx8zldoo4=",
+        "owner": "rycee",
+        "repo": "nur-expressions",
+        "rev": "ae18cb76153e8dda888a313daac932ba358002ae",
+        "type": "gitlab"
+      },
+      "original": {
+        "dir": "pkgs/firefox-addons",
+        "owner": "rycee",
+        "repo": "nur-expressions",
+        "type": "gitlab"
+      }
+    },
+    "flake-utils": {
+      "locked": {
+        "lastModified": 1629284811,
+        "narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=",
+        "owner": "numtide",
+        "repo": "flake-utils",
+        "rev": "c5d161cc0af116a2e17f54316f0bf43f0819785c",
+        "type": "github"
+      },
+      "original": {
+        "owner": "numtide",
+        "repo": "flake-utils",
+        "type": "github"
+      }
+    },
     "home-manager": {
       "inputs": {
         "nixpkgs": [
@@ -54,6 +92,7 @@
     },
     "root": {
       "inputs": {
+        "firefox-addons": "firefox-addons",
         "home-manager": "home-manager",
         "nixpkgs": "nixpkgs",
         "nixpkgs-stable": "nixpkgs-stable"
diff --git a/flake.nix b/flake.nix
index 55a7909..45678f5 100644
--- a/flake.nix
+++ b/flake.nix
@@ -10,18 +10,20 @@
         url = "github:nix-community/home-manager";
         inputs.nixpkgs.follows = "nixpkgs";
     };
+
+    firefox-addons = {
+        url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
+        inputs.nixpkgs.follows = "nixpkgs";
+    };
   };
 
-  outputs = inputs@{ self, nixpkgs, nixpkgs-stable, home-manager, ... }:
+  outputs = { self, nixpkgs, nixpkgs-stable, home-manager, ... } @ inputs:
   let
+    inherit (self) outputs;
     system = "x86_64-linux";
     userName = "nate";
     hostName = "winmax";
-    pkgs = import nixpkgs {
-        legacyPackages = system;
-        # smh steam
-        config.allowUnfree = true;
-    };
+    pkgs = nixpkgs.legacyPackages.${system};
     stablePkgs = import nixpkgs-stable {
         legacyPackages = system;
         config.allowUnfree = true;
@@ -51,12 +53,8 @@
               home-manager.useGlobalPkgs = true;
               home-manager.useUserPackages = true;
               home-manager.users.${userName} = import ./modules/home-manager/home.nix;
-              # Pass args to home.nix
               home-manager.extraSpecialArgs = {
-                  inherit inputs;
-                  inherit userName;
-                  inherit stablePkgs;
-                  inherit hostName;
+                  inherit inputs outputs userName hostName;
               };
           }
         ];
diff --git a/modules/home-manager/home.nix b/modules/home-manager/home.nix
index ec564b1..17b50b1 100644
--- a/modules/home-manager/home.nix
+++ b/modules/home-manager/home.nix
@@ -1,8 +1,11 @@
-{ config, pkgs, inputs, stablePkgs, userName, hostName, ... }:
-
+{ inputs, outputs, lib, config, pkgs, userName, hostName, ... }:
 {
   # Home Manager needs a bit of information about you and the paths it should
   # manage.
+  #
+
+  nixpkgs.config.allowUnfree = true;
+  # inputs.nixpkgs-stable.config.allowUnfree = true;
   
   home.username = userName;
   home.homeDirectory = "/home/${userName}";
@@ -16,7 +19,7 @@
   fonts.fontconfig.enable = true;
   home.packages = with pkgs; [
     bat
-    # stablePkgs.corectrl
+    inputs.nixpkgs-stable.legacyPackages.x86_64-linux.corectrl
     fd
     firefox
     foot
@@ -28,7 +31,7 @@
     networkmanagerapplet
     obs-studio
     signal-desktop
-    # steam
+    steam
     waybar
     wofi
     xfce.thunar
@@ -44,6 +47,10 @@
     # '')
   ];
 
+  # TODO not working firefox plugins
+  # extensions = with inputs.firefox-addons.packages.${pkgs.system}; [ ublock-origin bitwarden ];
+
+
   # Home Manager is pretty good at managing dotfiles. The primary way to manage
   # plain files is through 'home.file'.
   home.file."${config.xdg.configHome}" = {