From 0396d313791af347f31d004bbf2842fb11244fac Mon Sep 17 00:00:00 2001 From: Petri Hienonen Date: Sat, 18 Oct 2025 14:24:04 +0300 Subject: Update --- flake.nix | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 flake.nix (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..9f01226 --- /dev/null +++ b/flake.nix @@ -0,0 +1,91 @@ +{ + description = "Hyprland Live Wallpaper"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + flake-utils.url = "github:numtide/flake-utils"; + }; + + outputs = + { + self, + nixpkgs, + flake-utils, + }: + flake-utils.lib.eachDefaultSystem ( + system: + let + pkgs = nixpkgs.legacyPackages.${system}; + in + { + packages.default = pkgs.rustPlatform.buildRustPackage { + pname = "hyprland-live-wallpaper"; + version = "0.1.0"; + src = ./.; + cargoLock.lockFile = ./Cargo.lock; + nativeBuildInputs = with pkgs; [ pkg-config ]; + buildInputs = with pkgs; [ + wayland + libxkbcommon + vulkan-loader + wayland-protocols + ]; + }; + + devShells.default = pkgs.mkShell { + buildInputs = with pkgs; [ + rustc + clippy + rustfmt + cargo + pkg-config + wayland + libxkbcommon + vulkan-loader + wayland-protocols + ]; + }; + } + ) + // { + nixosModules.default = + { + config, + lib, + pkgs, + ... + }: + with lib; + let + cfg = config.services.hyprland-live-wallpaper; + in + { + options.services.hyprland-live-wallpaper = { + enable = mkEnableOption "Hyprland Live Wallpaper service"; + shader = mkOption { + type = types.str; + default = "default.wgsl"; + description = "Shader file to use"; + }; + }; + + config = mkIf cfg.enable { + systemd.user.services.hyprland-live-wallpaper = { + description = "Hyprland Live Wallpaper"; + wantedBy = [ "graphical-session.target" ]; + after = [ "graphical-session.target" ]; + serviceConfig = { + Type = "simple"; + ExecStart = "${ + self.packages.${pkgs.system}.default + }/bin/hyprland-live-wallpaper --shader ${cfg.shader}"; + Restart = "on-failure"; + Environment = [ + "RUST_LOG=info" + ]; + }; + }; + }; + }; + }; +} -- cgit v1.2.3-70-g09d2