From 1cac872b08a783014192d8e9789aeaf15746e883 Mon Sep 17 00:00:00 2001 From: "Alexandre Cavalheiro S. Tiago da Silva" Date: Tue, 29 Apr 2025 16:57:24 -0300 Subject: [PATCH 1/8] fix(neovim): make otter.nvim load on VeryLazy event This avoids the error from quickgd that tries to parse the current buffer without there being one. It also is just better that we load here anyways. --- modules/neovim/lua/plugins/user.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/neovim/lua/plugins/user.lua b/modules/neovim/lua/plugins/user.lua index 33b8f83..0728670 100644 --- a/modules/neovim/lua/plugins/user.lua +++ b/modules/neovim/lua/plugins/user.lua @@ -145,7 +145,7 @@ return { dependencies = { "nvim-treesitter/nvim-treesitter", }, - opts = {}, + event = "VeryLazy", }, -- Better UI hooks From d32533058a17d55b8cff4e729c559c24743abc39 Mon Sep 17 00:00:00 2001 From: "Alexandre Cavalheiro S. Tiago da Silva" Date: Tue, 29 Apr 2025 17:12:33 -0300 Subject: [PATCH 2/8] fix(neovim): remove dressing.nvim --- modules/neovim/lua/plugins/user.lua | 5 ----- 1 file changed, 5 deletions(-) diff --git a/modules/neovim/lua/plugins/user.lua b/modules/neovim/lua/plugins/user.lua index 0728670..757de66 100644 --- a/modules/neovim/lua/plugins/user.lua +++ b/modules/neovim/lua/plugins/user.lua @@ -147,9 +147,4 @@ return { }, event = "VeryLazy", }, - - -- Better UI hooks - { - "stevearc/dressing.nvim", - }, } From 8aa5a877a1eca8250d0e190ac5f063e7830ddb87 Mon Sep 17 00:00:00 2001 From: "Alexandre Cavalheiro S. Tiago da Silva" Date: Tue, 29 Apr 2025 17:12:52 -0300 Subject: [PATCH 3/8] chore(neovim): remove telescope spec from catppuccin --- modules/neovim/lua/plugins/user.lua | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/modules/neovim/lua/plugins/user.lua b/modules/neovim/lua/plugins/user.lua index 757de66..d607509 100644 --- a/modules/neovim/lua/plugins/user.lua +++ b/modules/neovim/lua/plugins/user.lua @@ -71,16 +71,6 @@ return { }) end, }, - { - "nvim-telescope/telescope.nvim", - optional = true, - opts = { - highlight = { - enable = true, - additional_vim_regex_highlighting = false, - }, - }, - }, }, }, From 441cfd8105f9ba565083519ced5f418ac8aabbeb Mon Sep 17 00:00:00 2001 From: "Alexandre Cavalheiro S. Tiago da Silva" Date: Sat, 3 May 2025 23:45:48 -0300 Subject: [PATCH 4/8] chore(hyprland): remove hyprlock from hypridle When hyprland crashes it makes hyprlock go haywire, so for now, we'll remove it. --- hosts/wizdesk/home-manager.nix | 6 +- modules/hyprland/README.md | 12 +-- modules/hyprland/home-manager.nix | 130 ++---------------------------- 3 files changed, 10 insertions(+), 138 deletions(-) diff --git a/hosts/wizdesk/home-manager.nix b/hosts/wizdesk/home-manager.nix index e2f73aa..d9c9e48 100644 --- a/hosts/wizdesk/home-manager.nix +++ b/hosts/wizdesk/home-manager.nix @@ -134,12 +134,8 @@ screenshot.enable = true; }; - # Enable hypridle and hyprlock + # Enable hypridle hypridle.enable = true; - hyprlock = { - enable = true; - background = "/mnt/internal/personal/wallpapers/wallhaven-2em8y6.jpg"; - }; # Add monitor configuration to hyprland extraConfig = # hyprlang diff --git a/modules/hyprland/README.md b/modules/hyprland/README.md index 6d2ca48..2841664 100644 --- a/modules/hyprland/README.md +++ b/modules/hyprland/README.md @@ -1,6 +1,6 @@ The [NixOS] module installs [Hyprland] onto the system. -Whilst the [Home Manager] module generates the dotfiles for [Hyprland] and optionally [hyprlock] and [hypridle]. +Whilst the [Home Manager] module generates the dotfiles for [Hyprland] and optionally [hypridle]. It can be configured through `modules.hyprland`. @@ -18,15 +18,6 @@ There are no monitors configured by default, so you should use this option to do Whether to configure and enable the [hypridle] package. Be mindful that it may not auto-start, I have yet to find why but even though it configures to start after `graphical-session.target`, that isn't reached in Hyprland sometimes. -### hyprlock.enable - -Whether to configure and enable the [hyprlock] package, by itself it does nothing but when [hypridle] is also enabled it -will automatically call [hyprlock] after a 120 second timeout. - -### hyprlock.background - -A path to an image that will be used as background when [hyprlock] is invoked. - ### scripts.screenshot.enable When enabled it will create two script files in `$XDG_DATA_HOME/scripts/hyprland` and two keybinds for you to run these @@ -54,7 +45,6 @@ services. If this module ever gets actually used by someone, then I'll refine it [hyprland]: https://hyprland.org/ -[hyprlock]: https://github.com/hyprwm/hyprlock [hypridle]: https://github.com/hyprwm/hypridle [home manager]: https://github.com/nix-community/home-manager [nixos]: https://nixos.org diff --git a/modules/hyprland/home-manager.nix b/modules/hyprland/home-manager.nix index 06cecd5..0b69d69 100644 --- a/modules/hyprland/home-manager.nix +++ b/modules/hyprland/home-manager.nix @@ -23,16 +23,6 @@ in hypridle.enable = lib.mkEnableOption "hypridle"; - hyprlock = { - enable = lib.mkEnableOption "hyprlock"; - background = lib.mkOption { - type = lib.types.path; - default = ""; - example = "~/wallpapers/abc.png"; - description = "The image to be used as background for hyprlock."; - }; - }; - scripts = { screenshot.enable = lib.mkEnableOption "screenshot"; startup.enable = lib.mkEnableOption "startup"; @@ -50,129 +40,25 @@ in sha256 = "1clw669i1n3dhawdw4clmjv75fy3smycb5iqk3sanzpr3y0i4vwx"; }; - # Enable hypridle and hyprlock + # Enable hypridle services.hypridle = lib.mkIf cfg.hypridle.enable { enable = true; settings = { general = { after_sleep_cmd = "hyprctl dispatch dpms on"; ignore_dbus_inhibit = false; - lock_cmd = "hyprlock"; }; - listener = - [ - { - timeout = 180; - on-timeout = "hyprctl dispatch dpms off"; - on-resume = "hyprctl dispatch dpms on"; - } - ] - ++ lib.optionals cfg.hyprlock.enable [ - { - timeout = 120; - on-timeout = "hyprlock"; - } - ]; + listener = [ + { + timeout = 180; + on-timeout = "hyprctl dispatch dpms off"; + on-resume = "hyprctl dispatch dpms on"; + } + ]; }; }; - programs.hyprlock = lib.mkIf cfg.hyprlock.enable { - enable = true; - extraConfig = # hyprlang - '' - source = $HOME/.config/hypr/frappe.conf - - $accent = $mauve - $accentAlpha = $mauveAlpha - $font = JetBrainsMono Nerd Font - - # GENERAL - general { - disable_loading_bar = true - hide_cursor = true - } - - # BACKGROUND - background { - monitor = - path = ${cfg.hyprlock.background} - blur_passes = 0 - color = $base - } - - # LAYOUT - label { - monitor = - text = Layout: $LAYOUT - color = $text - font_size = 25 - font_family = $font - position = 30, -30 - halign = left - valign = top - } - - # TIME - label { - monitor = - text = $TIME - color = $text - font_size = 90 - font_family = $font - position = -30, 0 - halign = right - valign = top - } - - # DATE - label { - monitor = - text = cmd[update:43200000] date +"%A, %d %B %Y" - color = $text - font_size = 25 - font_family = $font - position = -30, -150 - halign = right - valign = top - } - - # USER AVATAR - image { - monitor = - path = $HOME/.face - size = 100 - border_color = $accent - position = 0, 75 - halign = center - valign = center - } - - # INPUT FIELD - input-field { - monitor = - size = 300, 60 - outline_thickness = 4 - dots_size = 0.2 - dots_spacing = 0.2 - dots_center = true - outer_color = $accent - inner_color = $surface0 - font_color = $text - fade_on_empty = false - placeholder_text = 󰌾 Logged in as $USER - hide_input = false - check_color = $accent - fail_color = $red - fail_text = $FAIL ($ATTEMPTS) - capslock_color = $yellow - position = 0, -47 - halign = center - valign = center - } - ''; - }; - # Set-up the scripts for services and apps. home.packages = lib.mkIf cfg.scripts.startup.enable [ (import ./scripts/start_services.nix pkgs) From 65da5c2ba9b59f9cddbf084dcc4f713ad04eb05b Mon Sep 17 00:00:00 2001 From: "Alexandre Cavalheiro S. Tiago da Silva" Date: Sun, 4 May 2025 01:39:12 -0300 Subject: [PATCH 5/8] chore: flake update --- flake.lock | 72 +++++++++++++++++++++++++++--------------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/flake.lock b/flake.lock index 5550a2c..a119bf6 100644 --- a/flake.lock +++ b/flake.lock @@ -20,11 +20,11 @@ ] }, "locked": { - "lastModified": 1744289235, - "narHash": "sha256-ZFkHLdimtFzQACsVVyZkZlfYdj4iNy3PkzXfrwmlse8=", + "lastModified": 1745357003, + "narHash": "sha256-jYwzQkv1r7HN/4qrAuKp+NR4YYNp2xDrOX5O9YVqkWo=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "c8282f4982b56dfa5e9b9f659809da93f8d37e7a", + "rev": "a19cf76ee1a15c1c12083fa372747ce46387289f", "type": "github" }, "original": { @@ -40,11 +40,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1745432946, - "narHash": "sha256-6JNCfG67V5muUwEGdv5HmnbW6UlGrjcblVObvJCVXy4=", + "lastModified": 1746206240, + "narHash": "sha256-bKe8SSg1HPWE7b4iRQJwiOVCrvvgttuHCOIa4U/38AY=", "owner": "Saghen", "repo": "blink.cmp", - "rev": "5d90bfc6245eb89b6c6f22f4fa3a7202df17cb24", + "rev": "4f38ce99a472932d5776337f08f7a8180f1f571a", "type": "github" }, "original": { @@ -158,11 +158,11 @@ ] }, "locked": { - "lastModified": 1745427103, - "narHash": "sha256-J4v65MKoXt95nmCYr6a7Cdiyl9QmPp6u3+7aJ71zxbk=", + "lastModified": 1746317522, + "narHash": "sha256-/jZ4Wd4HHUEWPSlNj48k1E4Mh+1fUbwI/vSlPPIMG3U=", "owner": "nix-community", "repo": "home-manager", - "rev": "6d1f834ca63700604a96d8c38aa8ac272d95071a", + "rev": "621986fed37c5d0cb8df010ed8369694dc47c09b", "type": "github" }, "original": { @@ -207,11 +207,11 @@ ] }, "locked": { - "lastModified": 1742215578, - "narHash": "sha256-zfs71PXVVPEe56WEyNi2TJQPs0wabU4WAlq0XV7GcdE=", + "lastModified": 1745948457, + "narHash": "sha256-lzTV10FJTCGNtMdgW5YAhCAqezeAzKOd/97HbQK8GTU=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "2fd36421c21aa87e2fe3bee11067540ae612f719", + "rev": "ac903e80b33ba6a88df83d02232483d99f327573", "type": "github" }, "original": { @@ -265,11 +265,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1745328209, - "narHash": "sha256-eP3x+JNE1T6RjXhimaEnoc4GvNJcyzppW1vpAs287Zg=", + "lastModified": 1746310409, + "narHash": "sha256-iSyQZMaYjVfr+vb7jO0N9Bh8V9m51ZYUqxWd9BimUpQ=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "241a4935a244f403fa7108259075b04c81ed258f", + "rev": "adbae0f74d951e06c575bad3c81a944027dfe413", "type": "github" }, "original": { @@ -358,11 +358,11 @@ ] }, "locked": { - "lastModified": 1739048983, - "narHash": "sha256-REhTcXq4qs3B3cCDtLlYDz0GZvmsBSh947Ub6pQWGTQ=", + "lastModified": 1745951494, + "narHash": "sha256-2dModE32doiyQMmd6EDAQeZnz+5LOs6KXyE0qX76WIg=", "owner": "hyprwm", "repo": "hyprland-qtutils", - "rev": "3504a293c8f8db4127cb0f7cfc1a318ffb4316f8", + "rev": "4be1d324faf8d6e82c2be9f8510d299984dfdd2e", "type": "github" }, "original": { @@ -387,11 +387,11 @@ ] }, "locked": { - "lastModified": 1744468525, - "narHash": "sha256-9HySx+EtsbbKlZDlY+naqqOV679VdxP6x6fP3wxDXJk=", + "lastModified": 1745357019, + "narHash": "sha256-q/C3qj9FWHQenObXuw/nGIT8iIsWFjgmcQYcA+ZfpPs=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "f1000c54d266e6e4e9d646df0774fac5b8a652df", + "rev": "397600c42b8d7a443a5b4e92aa15f46650a90f18", "type": "github" }, "original": { @@ -412,11 +412,11 @@ ] }, "locked": { - "lastModified": 1743950287, - "narHash": "sha256-/6IAEWyb8gC/NKZElxiHChkouiUOrVYNq9YqG0Pzm4Y=", + "lastModified": 1745975815, + "narHash": "sha256-s3GzsRxBL/N/xYgUXZhQh4t62uR1BN4zxXgWBtJ3lWM=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "f2dc70e448b994cef627a157ee340135bd68fbc6", + "rev": "05878d9470c9e5cbc8807813f9ec2006627a0ca0", "type": "github" }, "original": { @@ -527,11 +527,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1744932701, - "narHash": "sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU=", + "lastModified": 1746141548, + "narHash": "sha256-IgBWhX7A2oJmZFIrpRuMnw5RAufVnfvOgHWgIdds+hc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef", + "rev": "f02fddb8acef29a8b32f10a335d44828d7825b78", "type": "github" }, "original": { @@ -543,11 +543,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1745234285, - "narHash": "sha256-GfpyMzxwkfgRVN0cTGQSkTC0OHhEkv3Jf6Tcjm//qZ0=", + "lastModified": 1746232882, + "narHash": "sha256-MHmBH2rS8KkRRdoU/feC/dKbdlMkcNkB5mwkuipVHeQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c11863f1e964833214b767f4a369c6e6a7aba141", + "rev": "7a2622e2c0dbad5c4493cb268aba12896e28b008", "type": "github" }, "original": { @@ -616,11 +616,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1745151211, - "narHash": "sha256-qFXfTdO1yvW6DmUPfVLIJgDHfkSd5yimZWvBMrlP/ow=", + "lastModified": 1746287507, + "narHash": "sha256-XzxmpEUbCXcBS7H00QmTAQf9xrMdvaFHrprkwb4i9CU=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "1dd4328f82115887901a685ecd9fa6e1d1db2d0c", + "rev": "c09c8cbc0d650d451e4b48d00c63831437dae1b2", "type": "github" }, "original": { @@ -720,11 +720,11 @@ ] }, "locked": { - "lastModified": 1744644585, - "narHash": "sha256-p0D/e4J6Sv6GSb+9u8OQcVHSE2gPNYB5ygIfGDyEiXQ=", + "lastModified": 1745871725, + "narHash": "sha256-M24SNc2flblWGXFkGQfqSlEOzAGZnMc9QG3GH4K/KbE=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "be6771e754345f18244fb00aae5c9e5ab21ccc26", + "rev": "76bbf1a6b1378e4ab5230bad00ad04bc287c969e", "type": "github" }, "original": { From e81fa77a18c173202d190717383cd2fff9ff8089 Mon Sep 17 00:00:00 2001 From: "Alexandre Cavalheiro S. Tiago da Silva" Date: Sun, 4 May 2025 20:36:39 -0300 Subject: [PATCH 6/8] chore(hm): use stable wine wow --- shared/home-manager/gaming.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/home-manager/gaming.nix b/shared/home-manager/gaming.nix index 0c79867..86bb334 100644 --- a/shared/home-manager/gaming.nix +++ b/shared/home-manager/gaming.nix @@ -17,7 +17,7 @@ heroic protontricks r2modman - wineWowPackages.unstableFull + wineWowPackages.stableFull winetricks # Games From 746e2793b0a100afa80edfa86050c6da833f12c3 Mon Sep 17 00:00:00 2001 From: "Alexandre Cavalheiro S. Tiago da Silva" Date: Sun, 4 May 2025 20:37:24 -0300 Subject: [PATCH 7/8] fix(hyprland): only turn off the monitor once in hypridle --- modules/hyprland/home-manager.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/modules/hyprland/home-manager.nix b/modules/hyprland/home-manager.nix index 0b69d69..7a2439e 100644 --- a/modules/hyprland/home-manager.nix +++ b/modules/hyprland/home-manager.nix @@ -43,12 +43,8 @@ in # Enable hypridle services.hypridle = lib.mkIf cfg.hypridle.enable { enable = true; - settings = { - general = { - after_sleep_cmd = "hyprctl dispatch dpms on"; - ignore_dbus_inhibit = false; - }; + settings = { listener = [ { timeout = 180; From 93fb8227d5d905f799c9e56e28dfcace04bc6145 Mon Sep 17 00:00:00 2001 From: "Alexandre Cavalheiro S. Tiago da Silva" Date: Sun, 4 May 2025 20:42:06 -0300 Subject: [PATCH 8/8] fix(neovim): check for NH_FLAKE env --- modules/neovim/lua/plugins/astrolsp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/neovim/lua/plugins/astrolsp.lua b/modules/neovim/lua/plugins/astrolsp.lua index 1a51e7a..f2fc00b 100644 --- a/modules/neovim/lua/plugins/astrolsp.lua +++ b/modules/neovim/lua/plugins/astrolsp.lua @@ -9,7 +9,7 @@ return { ---@param opts AstroLSPOpts ---@return AstroLSPOpts opts = function(_, opts) - local system_flake_path = vim.fn.getenv "FLAKE" or error "FLAKE environment variable must be set." + local system_flake_path = os.getenv "FLAKE" or os.getenv "NH_FLAKE" or error "FLAKE environment variable must be set." local hostname = vim.fn.hostname() ---@type AstroLSPOpts