diff --git a/flake.nix b/flake.nix index de3d217..2581d89 100644 --- a/flake.nix +++ b/flake.nix @@ -13,14 +13,13 @@ }; }; - outputs = - { - self, - flake-parts, - treefmt-nix, - ... - }@inputs: - flake-parts.lib.mkFlake { inherit inputs; } { + outputs = { + self, + flake-parts, + treefmt-nix, + ... + } @ inputs: + flake-parts.lib.mkFlake {inherit inputs;} { imports = [ inputs.flake-parts.flakeModules.easyOverlay ]; @@ -30,37 +29,35 @@ nixosModules.maomaowm = import ./nix/nixos-modules.nix self; }; - perSystem = - { - config, - pkgs, - ... - }: - let - inherit (pkgs) - callPackage - ; - maomaowm = callPackage ./nix { - inherit (inputs.nixpkgs-wayland.packages.${pkgs.system}) wlroots; - inherit (inputs.mmsg.packages.${pkgs.system}) mmsg; - }; - shellOverride = old: { - nativeBuildInputs = old.nativeBuildInputs ++ [ ]; - buildInputs = old.buildInputs ++ [ ]; - }; - treefmtEval = treefmt-nix.lib.evalModule pkgs ./treefmt.nix; - in - { - packages.default = maomaowm; - overlayAttrs = { - inherit (config.packages) maomaowm; - }; - packages = { - inherit maomaowm; - }; - devShells.default = maomaowm.overrideAttrs shellOverride; - formatter = treefmtEval.config.build.wrapper; + perSystem = { + config, + pkgs, + ... + }: let + inherit + (pkgs) + callPackage + ; + maomaowm = callPackage ./nix { + inherit (inputs.nixpkgs-wayland.packages.${pkgs.system}) wlroots; + inherit (inputs.mmsg.packages.${pkgs.system}) mmsg; }; - systems = [ "x86_64-linux" ]; + shellOverride = old: { + nativeBuildInputs = old.nativeBuildInputs ++ []; + buildInputs = old.buildInputs ++ []; + }; + treefmtEval = treefmt-nix.lib.evalModule pkgs ./treefmt.nix; + in { + packages.default = maomaowm; + overlayAttrs = { + inherit (config.packages) maomaowm; + }; + packages = { + inherit maomaowm; + }; + devShells.default = maomaowm.overrideAttrs shellOverride; + formatter = treefmtEval.config.build.wrapper; + }; + systems = ["x86_64-linux"]; }; } diff --git a/nix/default.nix b/nix/default.nix index 8f8bd10..205379d 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -18,51 +18,53 @@ ninja, wlroots, mmsg, -}: -let +}: let pname = "maomaowm"; in -stdenv.mkDerivation { - inherit pname; - version = "nightly"; + stdenv.mkDerivation { + inherit pname; + version = "nightly"; - src = ../.; + src = builtins.path { + path = ../.; + name = "source"; + }; - nativeBuildInputs = [ - meson - ninja - pkg-config - wayland-scanner - ]; - - buildInputs = - [ - libinput - libxcb - libxkbcommon - pcre2 - pixman - wayland - wayland-protocols - wlroots - ] - ++ lib.optionals enableXWayland [ - libX11 - xcbutilwm - xwayland + nativeBuildInputs = [ + meson + ninja + pkg-config + wayland-scanner ]; - passthru = { - providedSessions = [ "maomao" ]; - inherit mmsg; - }; + buildInputs = + [ + libinput + libxcb + libxkbcommon + pcre2 + pixman + wayland + wayland-protocols + wlroots + ] + ++ lib.optionals enableXWayland [ + libX11 + xcbutilwm + xwayland + ]; - meta = { - mainProgram = "maomao"; - description = "A streamlined but feature-rich Wayland compositor"; - homepage = "https://github.com/DreamMaoMao/maomaowm"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ ]; - platforms = lib.platforms.unix; - }; -} + passthru = { + providedSessions = ["maomao"]; + inherit mmsg; + }; + + meta = { + mainProgram = "maomao"; + description = "A streamlined but feature-rich Wayland compositor"; + homepage = "https://github.com/DreamMaoMao/maomaowm"; + license = lib.licenses.mit; + maintainers = []; + platforms = lib.platforms.unix; + }; + } diff --git a/nix/hm-modules.nix b/nix/hm-modules.nix index 0b6f37e..83533f5 100644 --- a/nix/hm-modules.nix +++ b/nix/hm-modules.nix @@ -1,11 +1,9 @@ -self: -{ +self: { lib, config, pkgs, ... -}: -let +}: let inherit (self.packages.${pkgs.system}) maomaowm; cfg = config.wayland.windowManager.maomaowm; variables = lib.concatStringsSep " " cfg.systemd.variables; @@ -15,8 +13,7 @@ let ${lib.optionalString cfg.systemd.enable systemdActivation} ${cfg.autostart_sh} ''; -in -{ +in { options = { wayland.windowManager.maomaowm = with lib; { enable = mkOption { @@ -53,7 +50,7 @@ in "XCURSOR_THEME" "XCURSOR_SIZE" ]; - example = [ "--all" ]; + example = ["--all"]; description = '' Environment variables imported into the systemd and D-Bus user environment. ''; @@ -95,23 +92,23 @@ in }; config = lib.mkIf cfg.enable { - home.packages = [ maomaowm ]; + home.packages = [maomaowm]; home.activation = lib.optionalAttrs (cfg.autostart_sh != "") { - createMaomaoScript = lib.hm.dag.entryAfter [ "clearMaomaoConfig" ] '' + createMaomaoScript = lib.hm.dag.entryAfter ["clearMaomaoConfig"] '' cat ${autostart_sh} > $HOME/.config/maomao/autostart.sh chmod +x $HOME/.config/maomao/autostart.sh ''; } // lib.optionalAttrs (cfg.settings != "") { - createMaomaoConfig = lib.hm.dag.entryAfter [ "clearMaomaoConfig" ] '' + createMaomaoConfig = lib.hm.dag.entryAfter ["clearMaomaoConfig"] '' cat > $HOME/.config/maomao/config.conf <