diff --git a/flake.lock b/flake.lock index 26ef1e5..33b8ff0 100644 --- a/flake.lock +++ b/flake.lock @@ -235,11 +235,11 @@ ] }, "locked": { - "lastModified": 1734425854, - "narHash": "sha256-nzE5UbJ41aPEKf8R2ZFYtLkqPmF7EIUbNEdHMBLg0Ig=", + "lastModified": 1734797603, + "narHash": "sha256-ulZN7ps8nBV31SE+dwkDvKIzvN6hroRY8sYOT0w+E28=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "0ddd26d0925f618c3a5d85a4fa5eb1e23a09491d", + "rev": "f0f0dc4920a903c3e08f5bdb9246bb572fcae498", "type": "github" }, "original": { @@ -299,11 +299,11 @@ ] }, "locked": { - "lastModified": 1734344598, - "narHash": "sha256-wNX3hsScqDdqKWOO87wETUEi7a/QlPVgpC/Lh5rFOuA=", + "lastModified": 1734893333, + "narHash": "sha256-0Ft7iTkl3UWAix72teY5nflYQD7GE0KvIiT+ox4wkB8=", "owner": "nix-community", "repo": "home-manager", - "rev": "83ecd50915a09dca928971139d3a102377a8d242", + "rev": "1f74238a4c8e534a1b6be72cb5153043071ffd17", "type": "github" }, "original": { @@ -321,11 +321,11 @@ ] }, "locked": { - "lastModified": 1734622215, - "narHash": "sha256-OOfI0XhSJGHblfdNDhfnn8QnZxng63rWk9eeJ2tCbiI=", + "lastModified": 1734862405, + "narHash": "sha256-bXZJvUMJ2A6sIpYcCUAGjYCD5UDzmpmQCdmJSkPhleU=", "owner": "nix-community", "repo": "home-manager", - "rev": "1395379a7a36e40f2a76e7b9936cc52950baa1be", + "rev": "cb27edb5221d2f2920a03155f8becc502cf60e35", "type": "github" }, "original": { @@ -521,11 +521,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1734119587, - "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", + "lastModified": 1734649271, + "narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", + "rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", "type": "github" }, "original": { @@ -550,11 +550,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1734798432, - "narHash": "sha256-JVU+WjrRZUJnUKQ/iXP9O8eQ0L3YkqV1DpFMS4kLZog=", + "lastModified": 1734880727, + "narHash": "sha256-bQfaaYoH8kSdw2UWb8RLZoa/2jPvDjaw87nvj+pO5lE=", "owner": "nix-community", "repo": "nixvim", - "rev": "6a4b4221c4ebf1140f73f8df769e97f1828d90fa", + "rev": "450cccf472f40ae8e3b92eec9e5f4b071693ac85", "type": "github" }, "original": { @@ -657,11 +657,11 @@ ] }, "locked": { - "lastModified": 1734322624, - "narHash": "sha256-9G6h+hHM8RyUvan2qojZwHlRoJ3gkLwZQLsW7bXyNrE=", + "lastModified": 1734840909, + "narHash": "sha256-bBMokfGRYs0ofzViAj4MRxjCklnxBZWt4FLok6jo4tA=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "f8289a4668187d3866caa7940dfd8ff680e41d0d", + "rev": "9da99a9e7598f1b1b2997c508fd21a2ee4a51a94", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index d1ccd27..06556d6 100644 --- a/flake.nix +++ b/flake.nix @@ -30,16 +30,12 @@ lanzaboote = { url = "github:nix-community/lanzaboote/v0.4.1"; - # Optional but recommended to limit the size of your system closure. inputs.nixpkgs.follows = "nixpkgs"; }; nixvim = { url = "github:nix-community/nixvim"; - # If you are not running an unstable channel of nixpkgs, select the corresponding branch of nixvim. - # url = "github:nix-community/nixvim/nixos-24.11"; - inputs.nixpkgs.follows = "nixpkgs"; }; }; @@ -71,6 +67,7 @@ home-manager.users.uzair = { imports = [ ./home/home.nix + nixvim.homeManagerModules.nixvim ]; }; } @@ -82,8 +79,6 @@ nixos-cli.nixosModules.nixos-cli lanzaboote.nixosModules.lanzaboote - - inputs.nixvim.nixosModules.nixvim ./system ]; diff --git a/home/modules/default.nix b/home/modules/default.nix index 4743603..4cb9ab1 100644 --- a/home/modules/default.nix +++ b/home/modules/default.nix @@ -8,5 +8,6 @@ ./browsers.nix ./productivity.nix ./media.nix + #./neovim.nix ]; } diff --git a/home/modules/devStuff.nix b/home/modules/devStuff.nix index 46004ce..f895faa 100644 --- a/home/modules/devStuff.nix +++ b/home/modules/devStuff.nix @@ -1,5 +1,8 @@ {pkgs, ...}: { - home.sessionVariables = { + imports = [ + ./neovim.nix + ]; + home.sessionVariables = { EDITOR = "nvim"; ELECTRON_OZONE_PLATFORM_HINT = "wayland"; NIXOS_CONFIG = "/home/uzair/Documents/nixos-config"; diff --git a/home/modules/neovim.nix b/home/modules/neovim.nix new file mode 100644 index 0000000..127e1f5 --- /dev/null +++ b/home/modules/neovim.nix @@ -0,0 +1,48 @@ +{ + programs.nixvim = { + enable = true; + + colorschemes.catppuccin = { + enable = true; + settings = { + flavour = "auto"; + }; + }; + + clipboard.providers.wl-copy.enable = true; + + plugins = { + bufferline = { + enable = true; + settings = { + options.hover = { + enabled = true; + delay = 200; + }; + }; + }; + + lualine = { + enable = true; + }; + + neo-tree = { + enable = true; + enableDiagnostics = true; + enableGitStatus = true; + enableModifiedMarkers = true; + enableRefreshOnWrite = true; + }; + + rustaceanvim.enable = true; + + which-key = { + enable = true; + }; + + snacks = { + enable = true; + }; + }; + }; +} diff --git a/system/modules/default.nix b/system/modules/default.nix index 5cf131e..6a73753 100644 --- a/system/modules/default.nix +++ b/system/modules/default.nix @@ -21,6 +21,5 @@ ./gaming.nix ./printing.nix ./yubikey.nix - ./neovim.nix ]; } diff --git a/system/modules/graphics.nix b/system/modules/graphics.nix index 400bcb5..8043940 100644 --- a/system/modules/graphics.nix +++ b/system/modules/graphics.nix @@ -3,15 +3,15 @@ lib, config, ... -}: -let +}: let nvidia-offload = pkgs.writeShellScriptBin "nvidia-offload" '' export __NV_PRIME_RENDER_OFFLOAD=1 export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0 export __GLX_VENDOR_LIBRARY_NAME=nvidia export __VK_LAYER_NV_optimus=NVIDIA_only exec "$@" - ''; in { + ''; +in { # Enable OpenGL hardware.graphics = { enable = true; @@ -30,7 +30,6 @@ let gaming-mode.configuration = { system.nixos.tags = ["gaming-mode"]; - services.xserver.videoDrivers = ["nvidia"]; hardware.nvidia = { @@ -47,7 +46,17 @@ let }; }; - environment.systemPackages = [ nvidia-offload ]; + environment.systemPackages = [nvidia-offload]; + + # Limit charging using TLP. Also turn off auto-cpufreq to avoid conflict + services.auto-cpufreq.enable = lib.mkForce false; + services.tlp = { + enable = true; + settings = { + START_CHARGE_THRESH_BAT0 = 40; # 40 and bellow it starts to charge + STOP_CHARGE_THRESH_BAT0 = 80; # 80 and above it stops charging + }; + }; }; }; } diff --git a/system/modules/neovim.nix b/system/modules/neovim.nix deleted file mode 100644 index 857e677..0000000 --- a/system/modules/neovim.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - programs.nixvim = { - enable = true; - }; -}