From 0896ee2fe2c26c8412029662143dc8f6204c6f1d Mon Sep 17 00:00:00 2001
From: Nate Anderson <n8r@tuta.io>
Date: Thu, 14 Dec 2023 21:58:29 -0700
Subject: [PATCH] Added more goodies, stable. WIP unfree

---
 .ignore                       |  3 +++
 dotfiles/sway/config.d/input  |  5 +++++
 flake.lock                    | 19 ++++++++++++++++++-
 flake.nix                     | 16 ++++++++++++++--
 modules/home-manager/home.nix | 19 +++++++++++--------
 modules/user/main_user.nix    |  1 +
 nixos/sway_configuration.nix  |  9 +++++++++
 7 files changed, 61 insertions(+), 11 deletions(-)
 create mode 100644 .ignore

diff --git a/.ignore b/.ignore
new file mode 100644
index 0000000..f3d5883
--- /dev/null
+++ b/.ignore
@@ -0,0 +1,3 @@
+dotfiles/
+.git/
+flake.lock
diff --git a/dotfiles/sway/config.d/input b/dotfiles/sway/config.d/input
index 08b8476..9e31cd4 100644
--- a/dotfiles/sway/config.d/input
+++ b/dotfiles/sway/config.d/input
@@ -19,6 +19,11 @@ input * {
     # xkb_options "ctrl:nocaps"
 }
 
+input type:keyboard {
+   repeat_rate 40
+   repeat_delay 175 
+}
+
 exec_always {
     'swaymsg input type:keyboard xkb_layout "$(localectl status | grep "X11 Layout" | sed -e "s/^.*X11 Layout://")"'
     'swaymsg input type:keyboard xkb_variant "$(localectl status | grep "X11 Variant" | sed -e "s/^.*X11 Variant://")"'
diff --git a/flake.lock b/flake.lock
index ec76900..a14f075 100644
--- a/flake.lock
+++ b/flake.lock
@@ -36,10 +36,27 @@
         "type": "github"
       }
     },
+    "nixpkgs-stable": {
+      "locked": {
+        "lastModified": 1702346276,
+        "narHash": "sha256-eAQgwIWApFQ40ipeOjVSoK4TEHVd6nbSd9fApiHIw5A=",
+        "owner": "nixos",
+        "repo": "nixpkgs",
+        "rev": "cf28ee258fd5f9a52de6b9865cdb93a1f96d09b7",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nixos",
+        "ref": "nixos-23.11",
+        "repo": "nixpkgs",
+        "type": "github"
+      }
+    },
     "root": {
       "inputs": {
         "home-manager": "home-manager",
-        "nixpkgs": "nixpkgs"
+        "nixpkgs": "nixpkgs",
+        "nixpkgs-stable": "nixpkgs-stable"
       }
     }
   },
diff --git a/flake.nix b/flake.nix
index e310edd..55a7909 100644
--- a/flake.nix
+++ b/flake.nix
@@ -4,18 +4,28 @@
   inputs = {
     nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
 
+    nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11";
+
     home-manager = {
         url = "github:nix-community/home-manager";
         inputs.nixpkgs.follows = "nixpkgs";
     };
   };
 
-  outputs = inputs@{ self, nixpkgs, home-manager, ... }:
+  outputs = inputs@{ self, nixpkgs, nixpkgs-stable, home-manager, ... }:
   let
     system = "x86_64-linux";
     userName = "nate";
     hostName = "winmax";
-    pkgs = nixpkgs.legacyPackages.${system};
+    pkgs = import nixpkgs {
+        legacyPackages = system;
+        # smh steam
+        config.allowUnfree = true;
+    };
+    stablePkgs = import nixpkgs-stable {
+        legacyPackages = system;
+        config.allowUnfree = true;
+    };
   in
   {
     nixosConfigurations = {
@@ -30,6 +40,7 @@
       nixSway = nixpkgs.lib.nixosSystem {
         # Pass args to sway_configuration
         specialArgs = {
+            inherit inputs;
             inherit userName;
             inherit hostName;
         };
@@ -44,6 +55,7 @@
               home-manager.extraSpecialArgs = {
                   inherit inputs;
                   inherit userName;
+                  inherit stablePkgs;
                   inherit hostName;
               };
           }
diff --git a/modules/home-manager/home.nix b/modules/home-manager/home.nix
index 990d290..ec564b1 100644
--- a/modules/home-manager/home.nix
+++ b/modules/home-manager/home.nix
@@ -1,4 +1,4 @@
-{ config, pkgs, userName, hostName, ... }:
+{ config, pkgs, inputs, stablePkgs, userName, hostName, ... }:
 
 {
   # Home Manager needs a bit of information about you and the paths it should
@@ -16,20 +16,22 @@
   fonts.fontconfig.enable = true;
   home.packages = with pkgs; [
     bat
-    corectrl
+    # stablePkgs.corectrl
     fd
     firefox
     foot
     fzf
+    htop
     kakoune
     keepassxc
     mako
     networkmanagerapplet
-    xfce.thunar
-    thunar
+    obs-studio
+    signal-desktop
+    # steam
     waybar
     wofi
-
+    xfce.thunar
     # Install fonts
     (nerdfonts.override { fonts = [ "Hermit" ]; })
     overpass
@@ -87,14 +89,15 @@
 
   # kdeconnect setup
   services.kdeconnect = {
-      enabled = true;
+      enable = true;
       indicator = true;
   };
 
   # Git setup
   programs.git = {
-      enabled = true;
-      
+      enable = true;
+      userEmail = "n8r@tuta.io";
+      userName = "Nate Anderson";
   };
 
   # Zsh setup
diff --git a/modules/user/main_user.nix b/modules/user/main_user.nix
index 3f66b81..efced75 100644
--- a/modules/user/main_user.nix
+++ b/modules/user/main_user.nix
@@ -40,6 +40,7 @@ in
                 extraGroups = [
                     "wheel"
                     "networkmanager"
+                    "corectrl"
                     cfg.userName
                     "video"
                     "audio"
diff --git a/nixos/sway_configuration.nix b/nixos/sway_configuration.nix
index 8a97ace..8fdb79b 100644
--- a/nixos/sway_configuration.nix
+++ b/nixos/sway_configuration.nix
@@ -76,6 +76,11 @@
 
   # Setup xdg portal for screen share
   xdg.portal = {
+      extraPortals = with pkgs; [
+          xdg-desktop-portal-wlr
+          xdg-desktop-portal-kde
+          xdg-desktop-portal-gtk
+      ];
       wlr.enable = true;
   };
   xdg.sounds.enable = true;
@@ -92,6 +97,10 @@
   };
 
   programs.zsh.enable = true;
+  # Corectrl from stable branch
+  # inputs.nixpkgs-stable.lib.nixosSystem.programs.corectrl.enable = true;
+
+  # programs.corectrl.enable = true;
 
   # List packages installed in system profile. To search, run:
   # $ nix search wget