refactor: format nix code with alejandra and optimize src path

This commit is contained in:
Yappaholic 2025-06-17 22:46:26 +03:00
parent f202a16abe
commit 6c99eeaeb3
4 changed files with 109 additions and 109 deletions

View file

@ -13,14 +13,13 @@
}; };
}; };
outputs = outputs = {
{ self,
self, flake-parts,
flake-parts, treefmt-nix,
treefmt-nix, ...
... } @ inputs:
}@inputs: flake-parts.lib.mkFlake {inherit inputs;} {
flake-parts.lib.mkFlake { inherit inputs; } {
imports = [ imports = [
inputs.flake-parts.flakeModules.easyOverlay inputs.flake-parts.flakeModules.easyOverlay
]; ];
@ -30,37 +29,35 @@
nixosModules.maomaowm = import ./nix/nixos-modules.nix self; nixosModules.maomaowm = import ./nix/nixos-modules.nix self;
}; };
perSystem = perSystem = {
{ config,
config, pkgs,
pkgs, ...
... }: let
}: inherit
let (pkgs)
inherit (pkgs) callPackage
callPackage ;
; maomaowm = callPackage ./nix {
maomaowm = callPackage ./nix { inherit (inputs.nixpkgs-wayland.packages.${pkgs.system}) wlroots;
inherit (inputs.nixpkgs-wayland.packages.${pkgs.system}) wlroots; inherit (inputs.mmsg.packages.${pkgs.system}) mmsg;
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;
}; };
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"];
}; };
} }

View file

@ -18,51 +18,53 @@
ninja, ninja,
wlroots, wlroots,
mmsg, mmsg,
}: }: let
let
pname = "maomaowm"; pname = "maomaowm";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
inherit pname; inherit pname;
version = "nightly"; version = "nightly";
src = ../.; src = builtins.path {
path = ../.;
name = "source";
};
nativeBuildInputs = [ nativeBuildInputs = [
meson meson
ninja ninja
pkg-config pkg-config
wayland-scanner wayland-scanner
];
buildInputs =
[
libinput
libxcb
libxkbcommon
pcre2
pixman
wayland
wayland-protocols
wlroots
]
++ lib.optionals enableXWayland [
libX11
xcbutilwm
xwayland
]; ];
passthru = { buildInputs =
providedSessions = [ "maomao" ]; [
inherit mmsg; libinput
}; libxcb
libxkbcommon
pcre2
pixman
wayland
wayland-protocols
wlroots
]
++ lib.optionals enableXWayland [
libX11
xcbutilwm
xwayland
];
meta = { passthru = {
mainProgram = "maomao"; providedSessions = ["maomao"];
description = "A streamlined but feature-rich Wayland compositor"; inherit mmsg;
homepage = "https://github.com/DreamMaoMao/maomaowm"; };
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ]; meta = {
platforms = lib.platforms.unix; 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;
};
}

View file

@ -1,11 +1,9 @@
self: self: {
{
lib, lib,
config, config,
pkgs, pkgs,
... ...
}: }: let
let
inherit (self.packages.${pkgs.system}) maomaowm; inherit (self.packages.${pkgs.system}) maomaowm;
cfg = config.wayland.windowManager.maomaowm; cfg = config.wayland.windowManager.maomaowm;
variables = lib.concatStringsSep " " cfg.systemd.variables; variables = lib.concatStringsSep " " cfg.systemd.variables;
@ -15,8 +13,7 @@ let
${lib.optionalString cfg.systemd.enable systemdActivation} ${lib.optionalString cfg.systemd.enable systemdActivation}
${cfg.autostart_sh} ${cfg.autostart_sh}
''; '';
in in {
{
options = { options = {
wayland.windowManager.maomaowm = with lib; { wayland.windowManager.maomaowm = with lib; {
enable = mkOption { enable = mkOption {
@ -53,7 +50,7 @@ in
"XCURSOR_THEME" "XCURSOR_THEME"
"XCURSOR_SIZE" "XCURSOR_SIZE"
]; ];
example = [ "--all" ]; example = ["--all"];
description = '' description = ''
Environment variables imported into the systemd and D-Bus user environment. Environment variables imported into the systemd and D-Bus user environment.
''; '';
@ -95,23 +92,23 @@ in
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
home.packages = [ maomaowm ]; home.packages = [maomaowm];
home.activation = home.activation =
lib.optionalAttrs (cfg.autostart_sh != "") { 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 cat ${autostart_sh} > $HOME/.config/maomao/autostart.sh
chmod +x $HOME/.config/maomao/autostart.sh chmod +x $HOME/.config/maomao/autostart.sh
''; '';
} }
// lib.optionalAttrs (cfg.settings != "") { // lib.optionalAttrs (cfg.settings != "") {
createMaomaoConfig = lib.hm.dag.entryAfter [ "clearMaomaoConfig" ] '' createMaomaoConfig = lib.hm.dag.entryAfter ["clearMaomaoConfig"] ''
cat > $HOME/.config/maomao/config.conf <<EOF cat > $HOME/.config/maomao/config.conf <<EOF
${cfg.settings} ${cfg.settings}
EOF EOF
''; '';
} }
// { // {
clearMaomaoConfig = lib.hm.dag.entryAfter [ "writeBoundary" ] '' clearMaomaoConfig = lib.hm.dag.entryAfter ["writeBoundary"] ''
rm -rf $HOME/.config/maomao rm -rf $HOME/.config/maomao
mkdir -p $HOME/.config/maomao mkdir -p $HOME/.config/maomao
''; '';
@ -119,12 +116,14 @@ in
systemd.user.targets.maomao-session = lib.mkIf cfg.systemd.enable { systemd.user.targets.maomao-session = lib.mkIf cfg.systemd.enable {
Unit = { Unit = {
Description = "maomao compositor session"; Description = "maomao compositor session";
Documentation = [ "man:systemd.special(7)" ]; Documentation = ["man:systemd.special(7)"];
BindsTo = [ "graphical-session.target" ]; BindsTo = ["graphical-session.target"];
Wants = [ Wants =
"graphical-session-pre.target" [
] ++ lib.optional cfg.systemd.xdgAutostart "xdg-desktop-autostart.target"; "graphical-session-pre.target"
After = [ "graphical-session-pre.target" ]; ]
++ lib.optional cfg.systemd.xdgAutostart "xdg-desktop-autostart.target";
After = ["graphical-session-pre.target"];
Before = lib.optional cfg.systemd.xdgAutostart "xdg-desktop-autostart.target"; Before = lib.optional cfg.systemd.xdgAutostart "xdg-desktop-autostart.target";
}; };
}; };

View file

@ -1,14 +1,11 @@
self: self: {
{
config, config,
lib, lib,
pkgs, pkgs,
... ...
}: }: let
let
cfg = config.programs.maomaowm; cfg = config.programs.maomaowm;
in in {
{
options = { options = {
programs.maomaowm = { programs.maomaowm = {
enable = lib.mkEnableOption "maomaowm, a wayland compositor based on dwl"; enable = lib.mkEnableOption "maomaowm, a wayland compositor based on dwl";
@ -21,16 +18,22 @@ in
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
environment.systemPackages = [ environment.systemPackages =
cfg.package [
] ++ (if (builtins.hasAttr "mmsg" cfg.package) then [ cfg.package.mmsg ] else [ ]); cfg.package
]
++ (
if (builtins.hasAttr "mmsg" cfg.package)
then [cfg.package.mmsg]
else []
);
xdg.portal = { xdg.portal = {
enable = lib.mkDefault true; enable = lib.mkDefault true;
wlr.enable = lib.mkDefault true; wlr.enable = lib.mkDefault true;
configPackages = [ cfg.package ]; configPackages = [cfg.package];
}; };
security.polkit.enable = lib.mkDefault true; security.polkit.enable = lib.mkDefault true;
@ -38,10 +41,9 @@ in
programs.xwayland.enable = lib.mkDefault true; programs.xwayland.enable = lib.mkDefault true;
services = { services = {
displayManager.sessionPackages = [ cfg.package ]; displayManager.sessionPackages = [cfg.package];
graphical-desktop.enable = lib.mkDefault true; graphical-desktop.enable = lib.mkDefault true;
}; };
}; };
} }