module(waydroid): Add waydroid module

This commit is contained in:
ulic-youthlic 2025-07-02 18:39:25 +08:00
parent 4b2706cf9b
commit 6267da609a
Signed by: youthlic
GPG key ID: 63E86C3C14A0D721
11 changed files with 381 additions and 11 deletions

334
flake.lock generated
View file

@ -87,6 +87,37 @@
"type": "github" "type": "github"
} }
}, },
"cachix": {
"inputs": {
"devenv": [
"nur-ataraxiasjel",
"devenv"
],
"flake-compat": [
"nur-ataraxiasjel",
"devenv"
],
"git-hooks": [
"nur-ataraxiasjel",
"devenv"
],
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1744206633,
"narHash": "sha256-pb5aYkE8FOoa4n123slgHiOf1UbNSnKe5pEZC+xXD5g=",
"owner": "cachix",
"repo": "cachix",
"rev": "8a60090640b96f9df95d1ab99e5763a586be1404",
"type": "github"
},
"original": {
"owner": "cachix",
"ref": "latest",
"repo": "cachix",
"type": "github"
}
},
"chaotic": { "chaotic": {
"inputs": { "inputs": {
"flake-schemas": "flake-schemas", "flake-schemas": "flake-schemas",
@ -156,6 +187,40 @@
"type": "github" "type": "github"
} }
}, },
"devenv": {
"inputs": {
"cachix": "cachix",
"flake-compat": "flake-compat_3",
"git-hooks": "git-hooks",
"nix": "nix",
"nixpkgs": "nixpkgs_6"
},
"locked": {
"lastModified": 1748273445,
"narHash": "sha256-5V0dzpNgQM0CHDsMzh+ludYeu1S+Y+IMjbaskSSdFh0=",
"owner": "cachix",
"repo": "devenv",
"rev": "668a50d8b7bdb19a0131f53c9f6c25c9071e1ffb",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "devenv",
"type": "github"
}
},
"devenv-root": {
"flake": false,
"locked": {
"narHash": "sha256-d6xi4mKdjkX2JFicDIv5niSzpyI0m/Hnm8GGAIU04kY=",
"type": "file",
"url": "file:///dev/null"
},
"original": {
"type": "file",
"url": "file:///dev/null"
}
},
"disko": { "disko": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -225,6 +290,22 @@
} }
}, },
"flake-compat_3": { "flake-compat_3": {
"flake": false,
"locked": {
"lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_4": {
"locked": { "locked": {
"lastModified": 1747046372, "lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
@ -257,6 +338,47 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"nur-ataraxiasjel",
"devenv",
"nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1712014858,
"narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_2"
},
"locked": {
"lastModified": 1743550720,
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-schemas": { "flake-schemas": {
"locked": { "locked": {
"lastModified": 1721999734, "lastModified": 1721999734,
@ -321,12 +443,39 @@
} }
}, },
"git-hooks": { "git-hooks": {
"inputs": {
"flake-compat": [
"nur-ataraxiasjel",
"devenv"
],
"gitignore": "gitignore",
"nixpkgs": [
"nur-ataraxiasjel",
"devenv",
"nixpkgs"
]
},
"locked": {
"lastModified": 1746537231,
"narHash": "sha256-Wb2xeSyOsCoTCTj7LOoD6cdKLEROyFAArnYoS+noCWo=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "fa466640195d38ec97cf0493d6d6882bc4d14969",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"git-hooks_2": {
"inputs": { "inputs": {
"flake-compat": [ "flake-compat": [
"stylix", "stylix",
"flake-compat" "flake-compat"
], ],
"gitignore": "gitignore", "gitignore": "gitignore_2",
"nixpkgs": [ "nixpkgs": [
"stylix", "stylix",
"nixpkgs" "nixpkgs"
@ -347,6 +496,29 @@
} }
}, },
"gitignore": { "gitignore": {
"inputs": {
"nixpkgs": [
"nur-ataraxiasjel",
"devenv",
"git-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"gitignore_2": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"stylix", "stylix",
@ -470,6 +642,22 @@
"type": "github" "type": "github"
} }
}, },
"libgit2": {
"flake": false,
"locked": {
"lastModified": 1697646580,
"narHash": "sha256-oX4Z3S9WtJlwvj0uH9HlYcWv+x1hqp8mhXl7HsLu2f0=",
"owner": "libgit2",
"repo": "libgit2",
"rev": "45fd9ed7ae1a9b74b957ef4f337bc3c8b3df01b5",
"type": "github"
},
"original": {
"owner": "libgit2",
"repo": "libgit2",
"type": "github"
}
},
"lix": { "lix": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -568,6 +756,43 @@
"type": "github" "type": "github"
} }
}, },
"nix": {
"inputs": {
"flake-compat": [
"nur-ataraxiasjel",
"devenv"
],
"flake-parts": "flake-parts_2",
"libgit2": "libgit2",
"nixpkgs": "nixpkgs_5",
"nixpkgs-23-11": [
"nur-ataraxiasjel",
"devenv"
],
"nixpkgs-regression": [
"nur-ataraxiasjel",
"devenv"
],
"pre-commit-hooks": [
"nur-ataraxiasjel",
"devenv"
]
},
"locked": {
"lastModified": 1745930071,
"narHash": "sha256-bYyjarS3qSNqxfgc89IoVz8cAFDkF9yPE63EJr+h50s=",
"owner": "domenkozar",
"repo": "nix",
"rev": "b455edf3505f1bf0172b39a735caef94687d0d9c",
"type": "github"
},
"original": {
"owner": "domenkozar",
"ref": "devenv-2.24",
"repo": "nix",
"type": "github"
}
},
"nix-github-actions": { "nix-github-actions": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -659,6 +884,21 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-lib_2": {
"locked": {
"lastModified": 1743296961,
"narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1751582995, "lastModified": 1751582995,
@ -724,6 +964,70 @@
} }
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": {
"lastModified": 1733212471,
"narHash": "sha256-M1+uCoV5igihRfcUKrr1riygbe73/dzNnzPsmaLCmpo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "55d15ad12a74eb7d4646254e13638ad0c4128776",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1717432640,
"narHash": "sha256-+f9c4/ZX5MWDOuB1rKoWj+lBNm0z0rs4CK47HBLxy1o=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "88269ab3044128b7c2f4c7d68448b2fb50456870",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "release-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_6": {
"locked": {
"lastModified": 1746807397,
"narHash": "sha256-zU2z0jlkJGWLhdNr/8AJSxqK8XD0IlQgHp3VZcP56Aw=",
"owner": "cachix",
"repo": "devenv-nixpkgs",
"rev": "c5208b594838ea8e6cca5997fbf784b7cca1ca90",
"type": "github"
},
"original": {
"owner": "cachix",
"ref": "rolling",
"repo": "devenv-nixpkgs",
"type": "github"
}
},
"nixpkgs_7": {
"locked": {
"lastModified": 1748190013,
"narHash": "sha256-R5HJFflOfsP5FBtk+zE8FpL8uqE7n62jqOsADvVshhE=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "62b852f6c6742134ade1abdd2a21685fd617a291",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_8": {
"locked": { "locked": {
"lastModified": 1747958103, "lastModified": 1747958103,
"narHash": "sha256-qmmFCrfBwSHoWw7cVK4Aj+fns+c54EBP8cGqp/yK410=", "narHash": "sha256-qmmFCrfBwSHoWw7cVK4Aj+fns+c54EBP8cGqp/yK410=",
@ -765,6 +1069,27 @@
"type": "github" "type": "github"
} }
}, },
"nur-ataraxiasjel": {
"inputs": {
"devenv": "devenv",
"devenv-root": "devenv-root",
"flake-parts": "flake-parts_3",
"nixpkgs": "nixpkgs_7"
},
"locked": {
"lastModified": 1750950662,
"narHash": "sha256-tEdGoLUTFgPC6WtLFHUAV9ZFZ7m1NUKTS5Zw1u2B/po=",
"owner": "ataraxiasjel",
"repo": "nur",
"rev": "81ea65199b63dcb2a9b588ac4387812996e3f092",
"type": "github"
},
"original": {
"owner": "ataraxiasjel",
"repo": "nur",
"type": "github"
}
},
"nur-rycee": { "nur-rycee": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -798,6 +1123,7 @@
"nixos-cosmic": "nixos-cosmic", "nixos-cosmic": "nixos-cosmic",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_3",
"nur-ataraxiasjel": "nur-ataraxiasjel",
"nur-rycee": "nur-rycee", "nur-rycee": "nur-rycee",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"stylix": "stylix", "stylix": "stylix",
@ -894,11 +1220,11 @@
"base16-helix": "base16-helix", "base16-helix": "base16-helix",
"base16-vim": "base16-vim", "base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme", "firefox-gnome-theme": "firefox-gnome-theme",
"flake-compat": "flake-compat_3", "flake-compat": "flake-compat_4",
"flake-parts": [ "flake-parts": [
"flake-parts" "flake-parts"
], ],
"git-hooks": "git-hooks", "git-hooks": "git-hooks_2",
"gnome-shell": "gnome-shell", "gnome-shell": "gnome-shell",
"home-manager": [ "home-manager": [
"home-manager" "home-manager"
@ -1063,7 +1389,7 @@
}, },
"treefmt-nix_2": { "treefmt-nix_2": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_8"
}, },
"locked": { "locked": {
"lastModified": 1750931469, "lastModified": 1750931469,

View file

@ -176,5 +176,11 @@
owner = "chaotic-cx"; owner = "chaotic-cx";
repo = "nyx"; repo = "nyx";
}; };
nur-ataraxiasjel = {
type = "github";
owner = "ataraxiasjel";
repo = "nur";
};
}; };
} }

View file

@ -37,6 +37,13 @@
}; };
hardware.asus.enable = true; hardware.asus.enable = true;
i18n.enable = true; i18n.enable = true;
virtualisation = {
kvm = {
enable = true;
unixName = "david";
};
waydroid.enable = true;
};
programs = { programs = {
bash.enable = true; bash.enable = true;
guix.enable = true; guix.enable = true;
@ -45,10 +52,6 @@
steam.enable = true; steam.enable = true;
tailscale.enable = true; tailscale.enable = true;
kanata.enable = true; kanata.enable = true;
kvm = {
enable = true;
unixName = "david";
};
transmission.enable = true; transmission.enable = true;
nix-ld.enable = true; nix-ld.enable = true;
juicity.client.enable = true; juicity.client.enable = true;

View file

@ -9,5 +9,6 @@
./gui ./gui
./programs ./programs
./hardware.nix ./hardware.nix
./virtualisation
]; ];
} }

View file

@ -7,7 +7,6 @@
./dae ./dae
./forgejo.nix ./forgejo.nix
./kanata.nix ./kanata.nix
./kvm.nix
./nh.nix ./nh.nix
./open-webui.nix ./open-webui.nix
./openssh.nix ./openssh.nix

View file

@ -0,0 +1,6 @@
{
imports = [
./kvm.nix
./waydroid.nix
];
}

View file

@ -4,10 +4,10 @@
pkgs, pkgs,
... ...
}: let }: let
cfg = config.youthlic.programs.kvm; cfg = config.youthlic.virtualisation.kvm;
in { in {
options = { options = {
youthlic.programs.kvm = { youthlic.virtualisation.kvm = {
enable = lib.mkEnableOption "kvm"; enable = lib.mkEnableOption "kvm";
unixName = lib.mkOption { unixName = lib.mkOption {
type = lib.types.str; type = lib.types.str;

View file

@ -0,0 +1,20 @@
{
lib,
config,
pkgs,
...
}: let
cfg = config.youthlic.virtualisation.waydroid;
in {
options = {
youthlic.virtualisation.waydroid = {
enable = lib.mkEnableOption "waydroid";
};
};
config = {
virtualisation.waydroid = {
enable = true;
};
environment.systemPackages = with pkgs; [waydroid-script];
};
}

View file

@ -7,6 +7,7 @@ in
./editor-runtime.nix ./editor-runtime.nix
./radicle-ci-broker.nix ./radicle-ci-broker.nix
./wallpapers.nix ./wallpapers.nix
./waydroid-script.nix
] ]
|> map (file: import file args) |> map (file: import file args)
|> (overlays: (lib.composeManyExtensions overlays) final prev) |> (overlays: (lib.composeManyExtensions overlays) final prev)

View file

@ -0,0 +1,5 @@
{outputs, ...}: _final: prev: let
inherit (prev.stdenv.hostPlatform) system;
in {
inherit (outputs.packages.${system}) waydroid-script;
}

View file

@ -33,3 +33,6 @@ in
in in
lib.genAttrs ["immersive-translate" "tridactyl" "redirector"] (name: firefox-addons."${name}") lib.genAttrs ["immersive-translate" "tridactyl" "redirector"] (name: firefox-addons."${name}")
) )
// {
inherit (inputs.nur-ataraxiasjel.outputs.packages.${pkgs.system}) waydroid-script;
}