diff --git a/flake.lock b/flake.lock index 1eaac1c..fdf6da8 100644 --- a/flake.lock +++ b/flake.lock @@ -324,11 +324,28 @@ "type": "github" } }, + "rofi-themes": { + "flake": false, + "locked": { + "lastModified": 1731895428, + "narHash": "sha256-9qFW+xTSizd6NYzJhUtBm80inOR4AgrdAZ3I2LFbuN8=", + "ref": "refs/heads/main", + "rev": "912ae5df827e71b7e20fa275c918335b3ce3d729", + "revCount": 113, + "type": "git", + "url": "https://codewith.babesonthe.net/punkfairie/rofi-themes" + }, + "original": { + "type": "git", + "url": "https://codewith.babesonthe.net/punkfairie/rofi-themes" + } + }, "root": { "inputs": { "devenv": "devenv", "home-manager": "home-manager", "nixpkgs": "nixpkgs_4", + "rofi-themes": "rofi-themes", "rose-pine": "rose-pine", "rose-pine-amfora": "rose-pine-amfora", "rose-pine-qt5ct": "rose-pine-qt5ct", diff --git a/flake.nix b/flake.nix index c88b061..fd7a2b2 100644 --- a/flake.nix +++ b/flake.nix @@ -52,5 +52,11 @@ url = "github:piperbly/rose-pine-qt5ct"; flake = false; }; + + # Rofi + rofi-themes = { + url = "git+https://codewith.babesonthe.net/punkfairie/rofi-themes"; + flake = false; + }; }; } diff --git a/homes/x86_64-linux/marley@nyx/default.nix b/homes/x86_64-linux/marley@nyx/default.nix index d3b2f56..333c3cc 100644 --- a/homes/x86_64-linux/marley@nyx/default.nix +++ b/homes/x86_64-linux/marley@nyx/default.nix @@ -53,6 +53,7 @@ in neo = enabled; rbw = enabled; ripgrep = enabled; + rofi = enabled; ssh = enabled; starship = enabled; systemctl = enabled; diff --git a/modules/home/programs/rofi/default.nix b/modules/home/programs/rofi/default.nix new file mode 100644 index 0000000..f36a3c6 --- /dev/null +++ b/modules/home/programs/rofi/default.nix @@ -0,0 +1,24 @@ +{ + lib, + config, + pkgs, + inputs, + ... +}: +let + inherit (lib) mkEnableOption mkIf; + + cfg = config.marleyos.programs.rofi; + hasXorg = config.xsession.enable; +in +{ + options.marleyos.programs.rofi.enable = mkEnableOption "rofi"; + + config = mkIf (cfg.enable && hasXorg) { + home.packages = with pkgs; [ + rofi + ]; + + xdg.configFile."rofi".source = "${inputs.rofi-themes}/files"; + }; +} diff --git a/overlays/rofi/default.nix b/overlays/rofi/default.nix new file mode 100644 index 0000000..ba8f904 --- /dev/null +++ b/overlays/rofi/default.nix @@ -0,0 +1,10 @@ +_: final: prev: { + rofi-unwrapped = prev.rofi-unwrapped.overrideAttrs (old: { + patches = (old.patches or [ ]) ++ [ + (prev.fetchpatch { + url = "https://git.causa-arcana.com/PolytreeDE/rofi/commit/b341ed01d2bdca60e2be5882f369c2f519101304.patch"; + sha256 = "sha256-Ekb+xyRavcUR0YHAtaRUClhPnarI6KK40ZnHbeM+hNs="; + }) + ]; + }); +}