mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2025-10-29 05:40:21 -04:00
refactor: format nix code with alejandra and optimize src path
This commit is contained in:
parent
f202a16abe
commit
6c99eeaeb3
4 changed files with 109 additions and 109 deletions
75
flake.nix
75
flake.nix
|
|
@ -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"];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue