flakes: Migrate the config and miku to flakes
This commit is contained in:
@@ -1,43 +1,43 @@
|
||||
{ pkgs ? import <nixpkgs> {} }:
|
||||
final: prev:
|
||||
|
||||
let
|
||||
pySmartDL = pkgs.callPackage ./development/python/pySmartDL {};
|
||||
cfscrape = pkgs.callPackage ./development/python/cfscrape {};
|
||||
system_hotkey = pkgs.callPackage ./development/python/system_hotkey {};
|
||||
discord-system-electron = pkgs.callPackage ./applications/networking/instant-messengers/discord {
|
||||
pySmartDL = prev.callPackage ./development/python/pySmartDL {};
|
||||
cfscrape = prev.callPackage ./development/python/cfscrape {};
|
||||
system_hotkey = prev.callPackage ./development/python/system_hotkey {};
|
||||
discord-system-electron = prev.callPackage ./applications/networking/instant-messengers/discord {
|
||||
# Wayland
|
||||
# NOTE: electron under Wayland has no window titlebars
|
||||
extraStartupArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland";
|
||||
#extraStartupArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-features=WebRTCPipeWireCapturer";
|
||||
};
|
||||
wrapInSandbox = pkgs.callPackage ./sandbox.nix {};
|
||||
wrapInSandbox = prev.callPackage ./sandbox.nix {};
|
||||
in {
|
||||
#key-mapper = pkgs.callPackage ./tools/games/key-mapper {};
|
||||
vfio-isolate = pkgs.callPackage ./tools/virtualisation/vfio-isolate {};
|
||||
mopidy-funkwhale = pkgs.callPackage ./applications/audio/mopidy/funkwhale.nix {};
|
||||
key-mapper = prev.callPackage ./tools/games/key-mapper {};
|
||||
vfio-isolate = prev.callPackage ./tools/virtualisation/vfio-isolate {};
|
||||
mopidy-funkwhale = prev.callPackage ./applications/audio/mopidy/funkwhale.nix {};
|
||||
# Not as clean as I hoped, but it works
|
||||
gnomeExtensions = pkgs.gnomeExtensions // {
|
||||
notification-timeout = pkgs.callPackage ./desktop/gnome/extensions/notification-timeout {};
|
||||
windowisready-remover = pkgs.callPackage ./desktop/gnome/extensions/windowisready-remover {};
|
||||
gnomeExtensions = prev.gnomeExtensions // {
|
||||
notification-timeout = prev.callPackage ./desktop/gnome/extensions/notification-timeout {};
|
||||
windowisready-remover = prev.callPackage ./desktop/gnome/extensions/windowisready-remover {};
|
||||
};
|
||||
python3Packages = pkgs.python3Packages // {
|
||||
python3Packages = prev.python3Packages // {
|
||||
pySmartDL = pySmartDL;
|
||||
cfscrape = cfscrape;
|
||||
system_hotkey = system_hotkey;
|
||||
};
|
||||
replaysorcery = pkgs.callPackage ./tools/games/replaysorcery {};
|
||||
evdev-proxy = pkgs.callPackage ./tools/virtualisation/evdev-proxy {};
|
||||
anime4k = pkgs.callPackage ./misc/video/anime4k {};
|
||||
anime-dl = pkgs.callPackage ./tools/video/animedl {
|
||||
replaysorcery = prev.callPackage ./tools/games/replaysorcery {};
|
||||
evdev-proxy = prev.callPackage ./tools/virtualisation/evdev-proxy {};
|
||||
anime4k = prev.callPackage ./misc/video/anime4k {};
|
||||
anime-dl = prev.callPackage ./tools/video/animedl {
|
||||
pySmartDL = pySmartDL;
|
||||
cfscrape = cfscrape;
|
||||
};
|
||||
superpaper = pkgs.callPackage ./applications/desktop/superpaper {
|
||||
superpaper = prev.callPackage ./applications/desktop/superpaper {
|
||||
system_hotkey = system_hotkey;
|
||||
};
|
||||
discord-wrapped = wrapInSandbox {
|
||||
name = "discord";
|
||||
package = pkgs.unstable.discord;
|
||||
package = prev.discord;
|
||||
#package = discord-system-electron;
|
||||
binaryName = "discord";
|
||||
mountInHome = [ ".config/discord" ".config/BetterDiscord" ];
|
||||
@@ -56,16 +56,16 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
sddm-sugar-dark = pkgs.callPackage ./sddm-sugar-dark {};
|
||||
sddm-sugar-dark = prev.callPackage ./sddm-sugar-dark {};
|
||||
|
||||
iptsd = pkgs.callPackage ./tools/daemons/iptsd {};
|
||||
surface-control = pkgs.callPackage ./tools/system/surface-control {};
|
||||
iptsd = prev.callPackage ./tools/daemons/iptsd {};
|
||||
surface-control = prev.callPackage ./tools/system/surface-control {};
|
||||
|
||||
trackma = pkgs.callPackage ./tools/video/trackma {};
|
||||
trackma = prev.callPackage ./tools/video/trackma {};
|
||||
|
||||
multimc-wrapped = wrapInSandbox {
|
||||
name = "multimc";
|
||||
package = pkgs.multimc;
|
||||
package = prev.multimc;
|
||||
binaryName = "multimc";
|
||||
mountInHome = [ ".local/share/multimc" ];
|
||||
additionalBlacklist = [ "/mnt" ];
|
||||
@@ -77,7 +77,7 @@ in {
|
||||
|
||||
steam-wrapped = wrapInSandbox {
|
||||
name = "steam";
|
||||
package = pkgs.steam;
|
||||
package = prev.steam;
|
||||
binaryName = "steam";
|
||||
mountInHome = [ ".steam" ".local/share/Steam" ];
|
||||
additionalBlacklist = [ "/mnt" ];
|
||||
@@ -92,7 +92,7 @@ in {
|
||||
|
||||
styluslabs-wrapped = wrapInSandbox {
|
||||
name = "Write";
|
||||
package = pkgs.write_stylus;
|
||||
package = prev.write_stylus;
|
||||
binaryName = "Write";
|
||||
additionalBlacklist = [ "/mnt" ];
|
||||
mountInHome = [ "tmp" ];
|
||||
@@ -102,16 +102,16 @@ in {
|
||||
|
||||
android-studio-wrapped = wrapInSandbox {
|
||||
name = "android-studio";
|
||||
package = pkgs.android-studio;
|
||||
package = prev.android-studio;
|
||||
binaryName = "android-studio";
|
||||
additionalBlacklist = [ "/mnt" ];
|
||||
mountInHome = [ "Development/Personal/Android" ".android" ];
|
||||
chdirTo = "/home/$USER";
|
||||
};
|
||||
|
||||
xournalpp-git = pkgs.unstable.xournalpp.overrideAttrs (old: {
|
||||
xournalpp-git = prev.xournalpp.overrideAttrs (old: {
|
||||
version = "1.1.1";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
src = prev.fetchFromGitHub {
|
||||
owner = "xournalpp";
|
||||
repo = "xournalpp";
|
||||
rev = "master";
|
||||
@@ -119,9 +119,9 @@ in {
|
||||
};
|
||||
});
|
||||
|
||||
gajim-mainwindow = pkgs.callPackage ./applications/networking/instant-messengers/gajim {
|
||||
nbxmpp = pkgs.python3Packages.nbxmpp.overrideAttrs (old: {
|
||||
src = pkgs.fetchFromGitLab {
|
||||
gajim-mainwindow = prev.callPackage ./applications/networking/instant-messengers/gajim {
|
||||
nbxmpp = prev.python3Packages.nbxmpp.overrideAttrs (old: {
|
||||
src = prev.fetchFromGitLab {
|
||||
domain = "dev.gajim.org";
|
||||
owner = "gajim";
|
||||
repo = "python-nbxmpp";
|
||||
@@ -131,9 +131,9 @@ in {
|
||||
});
|
||||
};
|
||||
|
||||
swaync = pkgs.callPackage ./tools/desktop/swaync {};
|
||||
swaync = prev.callPackage ./tools/desktop/swaync {};
|
||||
|
||||
myxer = pkgs.myxer.overrideAttrs (old: {
|
||||
myxer = prev.myxer.overrideAttrs (old: {
|
||||
cargoPatches = [ ./0000-1.2.1-set-gio-version.patch ];
|
||||
});
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bloc97";
|
||||
repo = "Anime4k";
|
||||
repo = "anime4k";
|
||||
rev = "v${version}";
|
||||
sha256 = "1gc1ka9i7xzxq58175q5svhvp8vr27hy477r4z4nkhp9q1cqj19r";
|
||||
};
|
||||
|
||||
@@ -9,8 +9,7 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "key-mapper";
|
||||
# TODO: Update to 1.2.1
|
||||
version = "1.0.0";
|
||||
version = "1.2.1";
|
||||
|
||||
buildInputs = [ gobject-introspection gtk3 gnome.adwaita-icon-theme ];
|
||||
|
||||
@@ -35,7 +34,7 @@ python3Packages.buildPythonApplication rec {
|
||||
|
||||
# Fix keymapper not finding its data files
|
||||
preBuild = ''
|
||||
sed -e "s|NIXOS_OUT_PATH|$out/usr/share/key-mapper|" --in-place keymapper/data.py
|
||||
sed -e "s|@@NIXOS_OUT_PATH@@|$out/usr/share/key-mapper|" --in-place keymapper/data.py
|
||||
'';
|
||||
|
||||
# Required as we otherwise don't get the dbus policy installed
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
diff --git a/keymapper/data.py b/keymapper/data.py
|
||||
index d909399..7e4aad0 100644
|
||||
index 6f3e428..8eded95 100644
|
||||
--- a/keymapper/data.py
|
||||
+++ b/keymapper/data.py
|
||||
@@ -68,6 +68,7 @@ def get_data_path(filename=''):
|
||||
'/usr/share/key-mapper',
|
||||
'/usr/local/share/key-mapper',
|
||||
os.path.join(site.USER_BASE, 'share/key-mapper'),
|
||||
+ 'NIXOS_OUT_PATH',
|
||||
@@ -68,6 +68,7 @@ def get_data_path(filename=""):
|
||||
"/usr/share/key-mapper",
|
||||
"/usr/local/share/key-mapper",
|
||||
os.path.join(site.USER_BASE, "share/key-mapper"),
|
||||
+ "@@NIXOS_OUT_PATH@@",
|
||||
]
|
||||
|
||||
if data is None:
|
||||
|
||||
57
packages/tools/video/animedl/0000-add-kawaiifu.patch
Normal file
57
packages/tools/video/animedl/0000-add-kawaiifu.patch
Normal file
@@ -0,0 +1,57 @@
|
||||
diff --git a/anime_downloader/sites/init.py b/anime_downloader/sites/init.py
|
||||
index a0d0d3b..e555a56 100644
|
||||
--- a/anime_downloader/sites/init.py
|
||||
+++ b/anime_downloader/sites/init.py
|
||||
@@ -3,6 +3,7 @@ from importlib import import_module
|
||||
ALL_ANIME_SITES = [
|
||||
# ('filename', 'sitename', 'classname')
|
||||
# ('_4anime', '4anime', 'Anime4'),
|
||||
+ ('kawaiifu', 'kawaiifu', 'Kawaiifu'),
|
||||
('anitube', 'anitube', 'AniTube'),
|
||||
('animtime', 'animtime', 'AnimTime'),
|
||||
('anime8', 'anime8', 'Anime8'),
|
||||
diff --git a/anime_downloader/sites/kawaiifu.py b/anime_downloader/sites/kawaiifu.py
|
||||
new file mode 100644
|
||||
index 0000000..dfffc6d
|
||||
--- /dev/null
|
||||
+++ b/anime_downloader/sites/kawaiifu.py
|
||||
@@ -0,0 +1,39 @@
|
||||
+from anime_downloader.sites.anime import Anime, AnimeEpisode, SearchResult
|
||||
+from anime_downloader.sites import helpers
|
||||
+
|
||||
+import logging
|
||||
+
|
||||
+logger = logging.getLogger(__name__)
|
||||
+
|
||||
+class Kawaiifu(Anime, sitename='kawaiifu'):
|
||||
+ sitename = 'kawaiifu'
|
||||
+
|
||||
+ @classmethod
|
||||
+ def search(cls, query):
|
||||
+ soup = helpers.soupify(helpers.get("https://kawaiifu.com/search-movie?keyword={}&cat-get=".format(query)))
|
||||
+
|
||||
+ items = soup.find_all("div", "item")
|
||||
+ return [
|
||||
+ SearchResult(
|
||||
+ title = item.select("h4 > a")[1].text.strip(),
|
||||
+ url = item.select("h4 > a")[1]['href']
|
||||
+ ) for item in items
|
||||
+ ]
|
||||
+
|
||||
+ def _scrape_episodes(self):
|
||||
+ soup = helpers.soupify(helpers.get(self.url))
|
||||
+ redirect = soup.select(".list-ep > li > a")[0]["href"]
|
||||
+ soup = helpers.soupify(helpers.get(redirect))
|
||||
+
|
||||
+ return [item["href"] for item in soup.select(".list-ep > li > a")]
|
||||
+
|
||||
+ def _scrape_metadata(self):
|
||||
+ soup = helpers.soupify(helpers.get(self.url))
|
||||
+ self.title = soup.find_all("h2", "title")[0].text
|
||||
+
|
||||
+class KawaiifuEpisode(AnimeEpisode, sitename="kawaiifu"):
|
||||
+ def _get_sources(self):
|
||||
+ soup = helpers.soupify(helpers.get(self.url))
|
||||
+ video = soup.find_all("video")[0]
|
||||
+
|
||||
+ return [('no_extractor', video["atr_id"])]
|
||||
49
packages/tools/video/animedl/default.nix
Normal file
49
packages/tools/video/animedl/default.nix
Normal file
@@ -0,0 +1,49 @@
|
||||
{
|
||||
pkgs
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, python3Packages
|
||||
, python3
|
||||
, pySmartDL
|
||||
, cfscrape
|
||||
, extraPkgs ? pkgs: []
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "anime-dl";
|
||||
version = "5.0.14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "anime-dl";
|
||||
repo = "anime-downloader";
|
||||
rev = version;
|
||||
sha256 = "1ai71g8cp2i37p53lm32nl3h8cq7rcxifhnj1z1cfvxbqjvackaj";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
pySmartDL
|
||||
cfscrape
|
||||
beautifulsoup4
|
||||
requests
|
||||
requests-cache
|
||||
click
|
||||
fuzzywuzzy
|
||||
coloredlogs
|
||||
tabulate
|
||||
pycryptodome
|
||||
] ++ extraPkgs pkgs;
|
||||
|
||||
patches = [
|
||||
./0000-add-kawaiifu.patch
|
||||
];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/anime-dl/anime-downloader";
|
||||
description = "A simple but powerful anime downloader and streamer.";
|
||||
license = licenses.unlicense;
|
||||
maintainers = [];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -1,4 +1,10 @@
|
||||
{ pkgs, lib, python3Packages, python3, gtk3, gobject-introspection, git, wrapGAppsHook, gnome }:
|
||||
{
|
||||
pkgs, lib
|
||||
, python3Packages, python3
|
||||
, gtk3, gobject-introspection, gnome
|
||||
, wrapGAppsHook
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "vfio-isolate";
|
||||
@@ -9,9 +15,11 @@ python3Packages.buildPythonApplication rec {
|
||||
|
||||
patches = [ ./remove-versions.patch ];
|
||||
|
||||
src = builtins.fetchGit {
|
||||
url = "https://github.com/spheenik/vfio-isolate.git";
|
||||
ref = "master";
|
||||
src = fetchFromGitHub {
|
||||
owner = "spheenik";
|
||||
repo = "vfio-isolate";
|
||||
rev = "master";
|
||||
sha256 = "0n85bmaj79i97j19wrn3z4hmg93p2rrsb3jk1qfd0107agx8mr3k";
|
||||
};
|
||||
|
||||
doCheck = false;
|
||||
|
||||
Reference in New Issue
Block a user