mirror of
https://github.com/oqyude/nixos.git
synced 2026-06-11 12:40:44 +03:00
123
This commit is contained in:
@@ -20,7 +20,6 @@ let
|
|||||||
nixos-hardware.nixosModules.asus-fa506ic
|
nixos-hardware.nixosModules.asus-fa506ic
|
||||||
|
|
||||||
self.nixosModules.software.wine
|
self.nixosModules.software.wine
|
||||||
self.nixosModules.software.beets
|
|
||||||
self.nixosModules.desktop
|
self.nixosModules.desktop
|
||||||
self.homeConfigurations.main.nixosModule
|
self.homeConfigurations.main.nixosModule
|
||||||
self.homeConfigurations.root.nixosModule
|
self.homeConfigurations.root.nixosModule
|
||||||
|
|||||||
+4
-4
@@ -59,10 +59,10 @@ let
|
|||||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.therima-drive}";
|
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.therima-drive}";
|
||||||
target = "External";
|
target = "External";
|
||||||
};
|
};
|
||||||
"Music" = {
|
# "Music" = {
|
||||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.vetymae-drive}/Users/User/Music";
|
# source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.vetymae-drive}/Users/User/Music";
|
||||||
target = "Music";
|
# target = "Music";
|
||||||
};
|
# };
|
||||||
"Pictures" = {
|
"Pictures" = {
|
||||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.vetymae-drive}/Users/User/Pictures";
|
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.vetymae-drive}/Users/User/Pictures";
|
||||||
target = "Pictures";
|
target = "Pictures";
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
description = "Jor Oqyude";
|
description = "Jor Oqyude";
|
||||||
initialPassword = "1234";
|
initialPassword = "1234";
|
||||||
extraGroups = [
|
extraGroups = [
|
||||||
|
"beets"
|
||||||
"audio"
|
"audio"
|
||||||
"disk"
|
"disk"
|
||||||
"gamemode"
|
"gamemode"
|
||||||
@@ -18,7 +19,6 @@
|
|||||||
"pipewire"
|
"pipewire"
|
||||||
"qemu-libvirtd"
|
"qemu-libvirtd"
|
||||||
"wheel"
|
"wheel"
|
||||||
"beets"
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# WIP, Garbage
|
||||||
{ inputs, ... }@flakeContext:
|
{ inputs, ... }@flakeContext:
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
@@ -5,17 +6,66 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
let
|
||||||
|
base-packages = with pkgs; [
|
||||||
|
python312
|
||||||
|
python312Packages.pip
|
||||||
|
python312Packages.virtualenv
|
||||||
|
];
|
||||||
|
# Файл requirements.txt с перечислением плагинов
|
||||||
|
requirements = pkgs.writeText "beets-requirements.txt" ''
|
||||||
|
beets[bandcamp,deezer,discogs,duplicates,edit,embedart,fetchart,info,lastgenre,lyrics,missing,rewrite,scrub,smartplaylist,spotify]
|
||||||
|
beetcamp
|
||||||
|
typing_extensions
|
||||||
|
'';
|
||||||
|
in
|
||||||
{
|
{
|
||||||
|
|
||||||
|
fileSystems."/mnt/beets/music" = {
|
||||||
|
device = "${inputs.zeroq.dirs.music-library}";
|
||||||
|
options = [ "bind" ];
|
||||||
|
};
|
||||||
|
|
||||||
users = {
|
users = {
|
||||||
|
groups = {
|
||||||
|
beets = {};
|
||||||
|
};
|
||||||
users = {
|
users = {
|
||||||
beets = {
|
beets = {
|
||||||
|
isSystemUser = true;
|
||||||
#isNormalUser = true;
|
#isNormalUser = true;
|
||||||
description = "beets service";
|
description = "beets service";
|
||||||
#initialPassword = "1234";
|
group = "beets";
|
||||||
extraGroups = [
|
homeMode = "0770";
|
||||||
"beets"
|
home = "/var/lib/beets";
|
||||||
];
|
packages = base-packages;
|
||||||
|
shell = pkgs.bashInteractive;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d /var/lib/beets 0770 beets beets -"
|
||||||
|
"d /mnt/beets 0770 beets beets -"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Автоматическая установка плагинов при старте системы
|
||||||
|
system.activationScripts.beets-venv = ''
|
||||||
|
# Создаём virtualenv если не существует
|
||||||
|
if [ ! -d "/var/lib/beets/venv" ]; then
|
||||||
|
${pkgs.sudo}/bin/sudo -u beets ${pkgs.python312}/bin/python -m venv /var/lib/beets/venv
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Обновляем pip и устанавливаем зависимости
|
||||||
|
${pkgs.sudo}/bin/sudo -u beets /var/lib/beets/venv/bin/pip install --upgrade pip wheel
|
||||||
|
${pkgs.sudo}/bin/sudo -u beets /var/lib/beets/venv/bin/pip install -r ${requirements}
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Симлинк для удобного вызова beets из-под основного пользователя
|
||||||
|
# environment.systemPackages = [
|
||||||
|
# (pkgs.writeScriptBin "beets" ''
|
||||||
|
# #!/bin/sh
|
||||||
|
# exec sudo -u beets /var/lib/beets/venv/bin/beets "$@"
|
||||||
|
# '')
|
||||||
|
# ];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,6 +34,7 @@
|
|||||||
server-home = "/home/${devices.admin}/External";
|
server-home = "/home/${devices.admin}/External";
|
||||||
storage = "${server-home}/Storage";
|
storage = "${server-home}/Storage";
|
||||||
calibre-library = "${server-home}/Books-Library";
|
calibre-library = "${server-home}/Books-Library";
|
||||||
|
music-library = "${dirs.user-home}/Music";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user