From e40a4285e3ebbba8d3cbac4db7532dd7818fb735 Mon Sep 17 00:00:00 2001 From: xbazzi Date: Wed, 6 Aug 2025 01:04:33 -0600 Subject: [PATCH] Add hyprland. Gnome is 4 n00buntus --- flake.lock | 522 +++++++++++++++++++++++++++++++++++++-- flake.nix | 6 + home/default.nix | 2 + home/gtk.nix | 60 +++-- home/home.nix | 2 + home/hyprland.nix | 106 ++++++++ home/packages.nix | 12 + home/waybar.nix | 26 ++ home/zsh.nix | 1 + system/configuration.nix | 5 + system/packages.nix | 1 + system/vscode.nix | 1 + 12 files changed, 708 insertions(+), 36 deletions(-) create mode 100644 home/hyprland.nix create mode 100644 home/waybar.nix diff --git a/flake.lock b/flake.lock index 73e7ea1..fafb3a7 100755 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,42 @@ { "nodes": { + "aquamarine": { + "inputs": { + "hyprutils": [ + "hyprland-plugins", + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland-plugins", + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland-plugins", + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland-plugins", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1751740947, + "narHash": "sha256-35040CHH7P3JGmhGVfEb2oJHL/A5mI2IXumhkxrBnao=", + "owner": "hyprwm", + "repo": "aquamarine", + "rev": "dfc1db15a08c4cd234288f66e1199c653495301f", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "aquamarine", + "type": "github" + } + }, "base16": { "inputs": { "fromYaml": "fromYaml" @@ -37,11 +74,11 @@ "base16-helix": { "flake": false, "locked": { - "lastModified": 1748408240, - "narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=", + "lastModified": 1752979451, + "narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=", "owner": "tinted-theming", "repo": "base16-helix", - "rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e", + "rev": "27cf1e66e50abc622fb76a3019012dc07c678fac", "type": "github" }, "original": { @@ -114,6 +151,22 @@ "type": "github" } }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -173,6 +226,29 @@ } }, "gitignore": { + "inputs": { + "nixpkgs": [ + "hyprland-plugins", + "hyprland", + "pre-commit-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gitignore_2": { "inputs": { "nixpkgs": [ "lanzaboote", @@ -218,11 +294,11 @@ ] }, "locked": { - "lastModified": 1752449767, - "narHash": "sha256-P8mQIrgIImASTlNkHPfKwGTmyZgku8EUt6cF52s3N/Y=", + "lastModified": 1754451631, + "narHash": "sha256-xstEcMQWmT43VcTibcOvOd7naoZkA/jJoxWFvvI7CKg=", "owner": "nix-community", "repo": "home-manager", - "rev": "1a4d8ffd320c2393b72e7ebc5b647122d5703056", + "rev": "8f02266b8e49c1c6bbe122b5602e1c877e42c5be", "type": "github" }, "original": { @@ -231,10 +307,317 @@ "type": "github" } }, + "hyprcursor": { + "inputs": { + "hyprlang": [ + "hyprland-plugins", + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "hyprland-plugins", + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland-plugins", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1749155331, + "narHash": "sha256-XR9fsI0zwLiFWfqi/pdS/VD+YNorKb3XIykgTg4l1nA=", + "owner": "hyprwm", + "repo": "hyprcursor", + "rev": "45fcc10b4c282746d93ec406a740c43b48b4ef80", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprcursor", + "type": "github" + } + }, + "hyprgraphics": { + "inputs": { + "hyprutils": [ + "hyprland-plugins", + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland-plugins", + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland-plugins", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1751808145, + "narHash": "sha256-OXgL0XaKMmfX2rRQkt9SkJw+QNfv0jExlySt1D6O72g=", + "owner": "hyprwm", + "repo": "hyprgraphics", + "rev": "b841473a0bd4a1a74a0b64f1ec2ab199035c349f", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprgraphics", + "type": "github" + } + }, + "hyprland": { + "inputs": { + "aquamarine": "aquamarine", + "hyprcursor": "hyprcursor", + "hyprgraphics": "hyprgraphics", + "hyprland-protocols": "hyprland-protocols", + "hyprland-qtutils": "hyprland-qtutils", + "hyprlang": "hyprlang", + "hyprutils": "hyprutils", + "hyprwayland-scanner": "hyprwayland-scanner", + "nixpkgs": "nixpkgs", + "pre-commit-hooks": "pre-commit-hooks", + "systems": "systems", + "xdph": "xdph" + }, + "locked": { + "lastModified": 1752149340, + "narHash": "sha256-DJc2ROpttbP6FHcXwWpmK7EB2cpVsP/LmXjEr8RWcO8=", + "owner": "hyprwm", + "repo": "Hyprland", + "rev": "b5433bb75324a95dd27eb5492141565466c2cdd6", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "Hyprland", + "type": "github" + } + }, + "hyprland-plugins": { + "inputs": { + "hyprland": "hyprland", + "nixpkgs": [ + "nixpkgs" + ], + "systems": [ + "hyprland-plugins", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1754068594, + "narHash": "sha256-Yd8+iDw9FBg5agiCVs0aPwaBLSvgZFjjMJcJTAFLZcA=", + "owner": "hyprwm", + "repo": "hyprland-plugins", + "rev": "ba1823c7870dc2a35e38ec09848a0294dfecc2a8", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-plugins", + "type": "github" + } + }, + "hyprland-protocols": { + "inputs": { + "nixpkgs": [ + "hyprland-plugins", + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland-plugins", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1749046714, + "narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, + "hyprland-qt-support": { + "inputs": { + "hyprlang": [ + "hyprland-plugins", + "hyprland", + "hyprland-qtutils", + "hyprlang" + ], + "nixpkgs": [ + "hyprland-plugins", + "hyprland", + "hyprland-qtutils", + "nixpkgs" + ], + "systems": [ + "hyprland-plugins", + "hyprland", + "hyprland-qtutils", + "systems" + ] + }, + "locked": { + "lastModified": 1749154592, + "narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=", + "owner": "hyprwm", + "repo": "hyprland-qt-support", + "rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-qt-support", + "type": "github" + } + }, + "hyprland-qtutils": { + "inputs": { + "hyprland-qt-support": "hyprland-qt-support", + "hyprlang": [ + "hyprland-plugins", + "hyprland", + "hyprlang" + ], + "hyprutils": [ + "hyprland-plugins", + "hyprland", + "hyprland-qtutils", + "hyprlang", + "hyprutils" + ], + "nixpkgs": [ + "hyprland-plugins", + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland-plugins", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1750371812, + "narHash": "sha256-D868K1dVEACw17elVxRgXC6hOxY+54wIEjURztDWLk8=", + "owner": "hyprwm", + "repo": "hyprland-qtutils", + "rev": "b13c7481e37856f322177010bdf75fccacd1adc8", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-qtutils", + "type": "github" + } + }, + "hyprlang": { + "inputs": { + "hyprutils": [ + "hyprland-plugins", + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland-plugins", + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland-plugins", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1750371198, + "narHash": "sha256-/iuJ1paQOBoSLqHflRNNGyroqfF/yvPNurxzcCT0cAE=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "cee01452bca58d6cadb3224e21e370de8bc20f0b", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprutils": { + "inputs": { + "nixpkgs": [ + "hyprland-plugins", + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland-plugins", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1751888065, + "narHash": "sha256-F2SV9WGqgtRsXIdUrl3sRe0wXlQD+kRRZcSfbepjPJY=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "a8229739cf36d159001cfc203871917b83fdf917", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, + "hyprwayland-scanner": { + "inputs": { + "nixpkgs": [ + "hyprland-plugins", + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland-plugins", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1751881472, + "narHash": "sha256-meB0SnXbwIe2trD041MLKEv6R7NZ759QwBcVIhlSBfE=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "8fb426b3e5452fd9169453fd6c10f8c14ca37120", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, "lanzaboote": { "inputs": { "crane": "crane", - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "flake-parts": "flake-parts", "nixpkgs": [ "nixpkgs" @@ -259,15 +642,15 @@ }, "nixpkgs": { "locked": { - "lastModified": 1751984180, - "narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=", - "owner": "nixos", + "lastModified": 1751792365, + "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "9807714d6944a957c2e036f84b0ff8caf9930bc0", + "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", "type": "github" }, "original": { - "owner": "nixos", + "owner": "NixOS", "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" @@ -289,6 +672,22 @@ "type": "github" } }, + "nixpkgs_2": { + "locked": { + "lastModified": 1754214453, + "narHash": "sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "5b09dc45f24cf32316283e62aec81ffee3c3e376", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nur": { "inputs": { "flake-parts": [ @@ -314,13 +713,37 @@ "type": "github" } }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": "flake-compat", + "gitignore": "gitignore", + "nixpkgs": [ + "hyprland-plugins", + "hyprland", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1750779888, + "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, "pre-commit-hooks-nix": { "inputs": { "flake-compat": [ "lanzaboote", "flake-compat" ], - "gitignore": "gitignore", + "gitignore": "gitignore_2", "nixpkgs": [ "lanzaboote", "nixpkgs" @@ -344,8 +767,9 @@ "root": { "inputs": { "home-manager": "home-manager", + "hyprland-plugins": "hyprland-plugins", "lanzaboote": "lanzaboote", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "stylix": "stylix" } }, @@ -383,7 +807,7 @@ "nixpkgs" ], "nur": "nur", - "systems": "systems", + "systems": "systems_2", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", @@ -391,11 +815,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1752449117, - "narHash": "sha256-Cn24ySH/LN/Q/SsDhpOX4cTMYZa1JMOLNeNsoYqcZpY=", + "lastModified": 1754438321, + "narHash": "sha256-sRRV9FAZyCbq91IXc6gokBGNe0mF3DPbX/ceY8vUvw0=", "owner": "danth", "repo": "stylix", - "rev": "d683e35fa5ec8bbfd45d52e4b53c7b91f7b38d06", + "rev": "8410296a30e62e06305020cb74d3247cfa45d9cc", "type": "github" }, "original": { @@ -405,6 +829,21 @@ } }, "systems": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_2": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -499,6 +938,53 @@ "repo": "base16-zed", "type": "github" } + }, + "xdph": { + "inputs": { + "hyprland-protocols": [ + "hyprland-plugins", + "hyprland", + "hyprland-protocols" + ], + "hyprlang": [ + "hyprland-plugins", + "hyprland", + "hyprlang" + ], + "hyprutils": [ + "hyprland-plugins", + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland-plugins", + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland-plugins", + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland-plugins", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1751300244, + "narHash": "sha256-PFuv1TZVYvQhha0ac53E3YgdtmLShrN0t4T6xqHl0jE=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "6115f3fdcb2c1a57b4a80a69f3c797e47607b90a", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 23d8591..9aa86f4 100755 --- a/flake.nix +++ b/flake.nix @@ -19,6 +19,12 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + hyprland-plugins = { + url = "github:hyprwm/hyprland-plugins"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + # nixvim = { # url = "github:xbazzi/nixvim"; # }; diff --git a/home/default.nix b/home/default.nix index c52a008..7751915 100755 --- a/home/default.nix +++ b/home/default.nix @@ -9,8 +9,10 @@ ./starship.nix #./vscode.nix ./packages.nix + ./waybar.nix ./dconf.nix ./git.nix + ./hyprland.nix ./zsh.nix ./variables.nix ./kitty.nix diff --git a/home/gtk.nix b/home/gtk.nix index b6c9344..58d3d6e 100644 --- a/home/gtk.nix +++ b/home/gtk.nix @@ -1,28 +1,52 @@ { inputs, pkgs, lib, config, ... }: { - #home.sessionVariables.GTK_THEME = "Tokyonight-Dark-B"; + gtk = { enable = true; theme = { - name = "Tokyonight-Dark-B"; - package = pkgs.tokyo-night-gtk; + name = "Adwaita-dark"; + package = pkgs.gnome-themes-extra; + }; + iconTheme = { + name = "Papirus-Dark"; + package = pkgs.papirus-icon-theme; }; - - # cursorTheme = { - # name = "Vimix-Cursors"; - # package = pkgs.vimix-cursors; - # }; - - # iconTheme = { - # name = "breeze-dark"; - # package = pkgs.breeze-icons; - # }; }; - # home.sessionVariables = { - # GTK_THEME = "Tokyonight-Dark-B"; - # XCURSOR_THEME = "vimix-cursor-theme"; - # XDG_CURRENT_DESKTOP = "GNOME"; - # GTK_ICON_THEME = "breeze-dark"; + + # Make Qt apps follow dark mode + home.sessionVariables = { + QT_QPA_PLATFORMTHEME = "gtk2"; + QT_STYLE_OVERRIDE = "Adwaita-dark"; + }; + + #home.sessionVariables.GTK_THEME = "Tokyonight-Dark-B"; + # gtk = { + # enable = true; + # theme = { + # name = "Tokyonight-Dark-B"; + # package = pkgs.tokyo-night-gtk; + # }; + + # # cursorTheme = { + # # name = "Vimix-Cursors"; + # # package = pkgs.vimix-cursors; + # # }; + + # iconTheme = { + # name = "Papirus-Dark"; + # package = pkgs.papirus-icon-theme; + # }; # }; + # # home.sessionVariables = { + # # GTK_THEME = "Tokyonight-Dark-B"; + # # XCURSOR_THEME = "vimix-cursor-theme"; + # # XDG_CURRENT_DESKTOP = "GNOME"; + # # GTK_ICON_THEME = "breeze-dark"; + # # }; + # home.sessionVariables = { + # QT_QPA_PLATFORMTHEME = "gtk2"; + # QT_STYLE_OVERRIDE = "Tokyonight-Dark-B"; + # }; + } \ No newline at end of file diff --git a/home/home.nix b/home/home.nix index 3ae7c66..3f56e26 100755 --- a/home/home.nix +++ b/home/home.nix @@ -4,6 +4,8 @@ home.username = "xbazzi"; home.homeDirectory = "/home/xbazzi"; + wayland.windowManager.hyprland.enable = true; + # Let Home Manager install and manage itself. programs.home-manager.enable = true; diff --git a/home/hyprland.nix b/home/hyprland.nix new file mode 100644 index 0000000..d10d3b6 --- /dev/null +++ b/home/hyprland.nix @@ -0,0 +1,106 @@ +{ config, pkgs, inputs, ... }: + +{ + wayland.windowManager.hyprland.settings = { + "$mod" = "SUPER"; + + monitor = [ + "DP-1, 1920x1080@144, 0x0, 1" + "DP-3, 2560x1440@240, 1920x0, 1" + "HMDI-A-1, 3440x1440@160, 4480x0, 1" + # "DP-3,addreserved,30,0,0,0" + ]; + + bind = + [ + # "$mod, k, exec, kitty" + "$mod, h, movefocus, l" + "$mod, l, movefocus, r" + "$mod, k, movefocus, u" + "$mod, j, movefocus, d" + "$mod, q, killactive" + + "$mod, f, fullscreen, 0" + + "$mod, d, exec, wofi --show drun" + + "$mod, t, exec, kitty --single-instance" + "$mod, c, exec, code" + "$mod SHIFT, l, movewindow, mon:-1" + "$mod SHIFT, h, movewindow, mon:+1" + + ", Print, exec, grimblast copy area" + + "$mod, e, exec, thunderbird" + "$mod, r, exec, kitty -- zsh -c 'exec yazi; exec zsh'" + "$mod, b, exec, kitty -- zsh -c 'btop; exec zsh'" + "$mod, y, exec, kitty --start-as=normal -- zsh -ic 'repos'" + "$mod, i, exec, brave" + "$mod, u, exec, kitty --start-as=normal -- zsh -ic 'home'" + + "$mod, s, togglespecialworkspace, special1" + "$mod, v, togglespecialworkspace, special2" + + "$mod, p, swapwindow, l" + + # Log out + # "$mod, -, exec, hyprctl dispatch exit" + "$mod, _, exec, hyprctl dispatch exit" + + + # Shift+Print → select area and copy + "SHIFT, Print, exec, grimblast copy area" + + # Ctrl+Print → select window and copy + "CTRL, Print, exec, grimblast copy active" + ] + ++ ( + # workspaces + # binds $mod + [shift +] {1..9} to [move to] workspace {1..9} + builtins.concatLists (builtins.genList (i: + let ws = i + 1; + in [ + "$mod, code:1${toString i}, workspace, ${toString ws}" + "$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}" + ] + ) + 9) + ); + + decoration = { + active_opacity = 1.0; + inactive_opacity = 0.85; + rounding = 5; + # blur = { + # enabled = true; + # size = 9; + # passes = 1; + # }; + shadow = { + enabled = true; + color = "rgba(2e3440aa)"; + range = 4; + render_power = 3; + }; + # border_size = 3; + }; + + animations = { + enabled = true; + animation = "fade, 1, 5, default"; + }; + + general = { + # allow_reserved_areas = true; + }; + }; + + wayland.windowManager.hyprland.settings.exec-once = [ + "sleep 2 && waybar" + "eval $(gnome-keyring-daemon --start --components=secrets,ssh,gpg)" + ]; + + wayland.windowManager.hyprland.plugins = [ + # inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprbars + ]; +} diff --git a/home/packages.nix b/home/packages.nix index 7c72e03..03ebc13 100755 --- a/home/packages.nix +++ b/home/packages.nix @@ -5,8 +5,20 @@ hello tmux gnomeExtensions.appindicator + wofi + waybar + # eww + gnome-keyring + libsecret + grim # for screenshots + slurp # for selecting area + grimblast # easier syntax for grim+slurp + wl-clipboard # copy screenshot to clipboard + # (pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) #zsh-powerlevel10k #inputs.nixvim.packages.${pkgs.system}.default ]; + services.gnome-keyring.enable = true; + } diff --git a/home/waybar.nix b/home/waybar.nix new file mode 100644 index 0000000..b562881 --- /dev/null +++ b/home/waybar.nix @@ -0,0 +1,26 @@ +{ pkgs, ... }: + +{ + programs.waybar = { + enable = true; + settings = [ + { + main.modules-right = ["clock"]; + layer = "top"; + position = "top"; + modules-left = [ "hyprland/workspaces" "clock" ]; + modules-center = [ "window" ]; + modules-right = [ "battery" "pulseaudio" "network" ]; + } + ]; + style = '' + * { + font-family: "JetBrainsMono Nerd Font", monospace; + font-size: 12px; + } + #workspaces button.active { + background-color: #ff5555; + } + ''; + }; +} \ No newline at end of file diff --git a/home/zsh.nix b/home/zsh.nix index 6890db7..a675693 100755 --- a/home/zsh.nix +++ b/home/zsh.nix @@ -71,6 +71,7 @@ in { # la="eza -s modified -r -lh"; + cb="cmake -B build -S . && cmake --build build -j$(nproc)"; la="eza -s modified -lhr --icons --git"; ls="eza -lh --group-directories-first --icons --git"; clipboard="xclip -selection clipboard"; diff --git a/system/configuration.nix b/system/configuration.nix index 9f2ce3d..74fdc3b 100755 --- a/system/configuration.nix +++ b/system/configuration.nix @@ -15,6 +15,11 @@ # OpenRGB services.hardware.openrgb.enable = true; + # Hyprland + programs.hyprland.enable = true; + programs.waybar.enable = true; + + # Bootloader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; diff --git a/system/packages.nix b/system/packages.nix index fe9c185..2cc65cb 100755 --- a/system/packages.nix +++ b/system/packages.nix @@ -52,6 +52,7 @@ screenkey # firefox direnv + jq ]; programs.nix-ld.enable = true; diff --git a/system/vscode.nix b/system/vscode.nix index 4f6b096..6a5301a 100755 --- a/system/vscode.nix +++ b/system/vscode.nix @@ -22,6 +22,7 @@ ms-vscode-remote.remote-containers bmewburn.vscode-intelephense-client zxh404.vscode-proto3 + twxs.cmake # arrterian.nix-env-selector mkhl.direnv ] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [