This commit is contained in:
2025-08-04 22:16:21 +03:00
parent 56e97b6d5f
commit 7f450271ab
13 changed files with 365 additions and 246 deletions
Generated
-16
View File
@@ -358,7 +358,6 @@
"plasma-manager": "plasma-manager",
"sops-nix": "sops-nix",
"zapret": "zapret",
"zeroq": "zeroq",
"zeroq-credentials": "zeroq-credentials"
}
},
@@ -412,21 +411,6 @@
"type": "github"
}
},
"zeroq": {
"locked": {
"lastModified": 1754248619,
"narHash": "sha256-/6BUL/pJnrQZd2S+a+UbF1ByiR5xQfdQTokUGZUyJGU=",
"ref": "refs/heads/master",
"rev": "44ba9d7980c87f8e90b7351f73dfe3483b0226b9",
"revCount": 2,
"type": "git",
"url": "ssh://git@github.com/oqyude/zeroq.git"
},
"original": {
"type": "git",
"url": "ssh://git@github.com/oqyude/zeroq.git"
}
},
"zeroq-credentials": {
"locked": {
"lastModified": 1753537856,
+1 -1
View File
@@ -4,7 +4,7 @@
inputs = {
# My
zeroq.url = "git+ssh://git@github.com/oqyude/zeroq.git"; # flake of variables
#zeroq.url = "git+ssh://git@github.com/oqyude/zeroq.git"; # flake of variables
zeroq-credentials.url = "git+ssh://git@github.com/oqyude/zeroq-credentials.git"; # flake of creds
zapret.url = "github:oqyude/zapret-easyflake"; # stupid flake of zapret
+2 -2
View File
@@ -10,7 +10,7 @@ let
}:
{
imports = [
(./type + "/${xlib.device.type}.nix")
(./. + "/${xlib.device.type}.nix")
#inputs.self.homeModules."${xlib.device.type}" # -> (./type + "/${xlib.device.type}.nix")
];
home = {
@@ -30,7 +30,7 @@ let
}:
{
imports = [
(./type + "/${xlib.device.type}.nix")
(./. + "/${xlib.device.type}.nix")
#inputs.self.homeModules."${xlib.device.type}"
];
home = {
@@ -1,4 +1,3 @@
{ inputs, ... }@flakeContext:
{
config,
pkgs,
View File
View File
+78
View File
@@ -0,0 +1,78 @@
{ inputs, ... }@flakeContext:
let
homeModule =
{
config,
lib,
pkgs,
...
}:
let
# Paths
beetsPath = "${config.xlib.dirs.storage}/beets/linux";
sshPath = "${config.xlib.dirs.storage}/ssh/${config.xlib.devices.server.hostname}";
musicPath = "${config.home.homeDirectory}/External/Music";
in
{
imports = [
./minimal.nix
];
xdg = {
configFile = {
"beets" = {
source = config.lib.file.mkOutOfStoreSymlink beetsPath;
target = "beets";
};
};
enable = true;
autostart.enable = true;
userDirs = {
enable = true;
createDirectories = false;
desktop = null;
documents = null;
download = null;
music = null;
pictures = null;
publicShare = null;
templates = null;
videos = null;
};
};
home = {
file = {
".ssh" = {
source = config.lib.file.mkOutOfStoreSymlink sshPath;
target = ".ssh";
};
"Music" = {
source = config.lib.file.mkOutOfStoreSymlink musicPath;
target = "${config.home.homeDirectory}/Music";
};
};
username = "${config.xlib.devices.admin}";
};
};
nixosModule =
{ ... }:
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.${config.xlib.devices.admin} = homeModule;
sharedModules = [ inputs.plasma-manager.homeManagerModules.plasma-manager ];
};
};
in
(
(inputs.home-manager.lib.homeManagerConfiguration {
modules = [
homeModule
];
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
})
// {
inherit nixosModule;
}
)
+91
View File
@@ -0,0 +1,91 @@
{ inputs, ... }@flakeContext:
let
homeModule =
{
config,
lib,
pkgs,
...
}:
let
# Paths
beetsPath = "${config.xlib.dirs.wsl-storage}/beets/linux";
#sshPath = "${config.xlib.dirs.storage}/ssh/${config.xlib.devices.server.hostname}";
musicPath = "${config.home.homeDirectory}/External/Music";
externalPath = "${config.xlib.dirs.wsl-home}";
in
{
imports = [
inputs.self.homeModules.default
];
xdg = {
enable = true;
autostart.enable = true;
configFile = {
"beets" = {
source = config.lib.file.mkOutOfStoreSymlink beetsPath;
target = "beets";
};
};
# userDirs = {
# enable = false;
# createDirectories = false;
# desktop = null;
# documents = null;
# download = null;
# music = null;
# pictures = null;
# publicShare = null;
# templates = null;
# videos = null;
# };
};
home = {
#username = "${config.xlib.devices.admin}";
file = {
"External" = {
source = config.lib.file.mkOutOfStoreSymlink externalPath;
target = "External";
};
"Music" = {
source = config.lib.file.mkOutOfStoreSymlink musicPath;
target = "${config.home.homeDirectory}/Music";
};
};
# pointerCursor = {
# enable = true;
# x11.enable = true;
# gtk.enable = true;
# size = 24;
# name = "Qogir";
# package = pkgs.qogir-icon-theme;
# };
};
};
nixosModule =
{ config, ... }:
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.${config.xlib.devices.admin} = homeModule;
# sharedModules = [ inputs.plasma-manager.homeManagerModules.plasma-manager ];
# extraSpecialArgs = {
# inherit (config.networking) hostName;
# };
};
};
in
(
(inputs.home-manager.lib.homeManagerConfiguration {
modules = [
homeModule
];
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
})
// {
inherit nixosModule;
}
)
+83
View File
@@ -0,0 +1,83 @@
{
config,
lib,
pkgs,
xlib,
...
}:
{
imports = [ ] ++ (builtins.attrValues inputs.self.homeModules);
xdg = {
enable = true;
autostart.enable = true;
configFile = {
"beets" = {
source = config.lib.file.mkOutOfStoreSymlink "${xlib.dirs.user-storage}/beets/linux";
target = "beets";
};
"ludusavi" = {
source = config.lib.file.mkOutOfStoreSymlink "${xlib.dirs.user-storage}/ludusavi/cfg";
target = "ludusavi";
};
"solaar" = {
source = config.lib.file.mkOutOfStoreSymlink "${xlib.dirs.user-storage}/solaar";
target = "solaar";
};
"easyeffects" = {
source = config.lib.file.mkOutOfStoreSymlink "${xlib.dirs.user-storage}/easyeffects";
target = "easyeffects";
};
"keepassxc" = {
source = config.lib.file.mkOutOfStoreSymlink "${xlib.dirs.user-storage}/KeePassXC";
target = "keepassxc";
};
};
dataFile = {
"PrismLauncher" = {
source = config.lib.file.mkOutOfStoreSymlink "${xlib.dirs.vetymae-drive}/Games/PrismLauncher";
target = "PrismLauncher";
};
"v2rayN" = {
source = config.lib.file.mkOutOfStoreSymlink "${xlib.dirs.user-storage}/v2rayN";
target = "v2rayN";
};
};
userDirs = {
enable = true;
createDirectories = true;
desktop = "${config.xdg.dataHome}/desktop";
documents = null;
download = "${config.home.homeDirectory}/Downloads";
music = "${config.home.homeDirectory}/Music";
pictures = "${config.home.homeDirectory}/Pictures";
publicShare = "${config.home.homeDirectory}/Misc/Public";
templates = null;
videos = "${config.home.homeDirectory}/Pictures/Videos";
};
};
home = {
file = {
"ssh" = {
source = config.lib.file.mkOutOfStoreSymlink "${xlib.dirs.user-storage}/ssh/${config.home.username}";
target = ".ssh";
};
"External" = {
source = config.lib.file.mkOutOfStoreSymlink "${xlib.dirs.therima-drive}";
target = "External";
};
"LM Studio" = {
source = config.lib.file.mkOutOfStoreSymlink "${xlib.dirs.vetymae-drive}/AI/LM Studio";
target = ".lmstudio";
};
};
pointerCursor = {
enable = true;
x11.enable = true;
gtk.enable = true;
size = 24;
name = "Qogir";
package = pkgs.qogir-icon-theme;
};
};
}
Executable → Regular
+50 -76
View File
@@ -1,78 +1,52 @@
{ inputs, ... }@flakeContext:
{
config,
lib,
pkgs,
xlib,
...
}:
let
homeModule =
{
config,
lib,
pkgs,
...
}:
let
# Paths
beetsPath = "${config.xlib.dirs.storage}/beets/linux";
sshPath = "${config.xlib.dirs.storage}/ssh/${config.xlib.devices.server.hostname}";
musicPath = "${config.home.homeDirectory}/External/Music";
in
{
imports = [
inputs.self.homeModules.default
];
xdg = {
configFile = {
"beets" = {
source = config.lib.file.mkOutOfStoreSymlink beetsPath;
target = "beets";
};
};
enable = true;
autostart.enable = true;
userDirs = {
enable = true;
createDirectories = false;
desktop = null;
documents = null;
download = null;
music = null;
pictures = null;
publicShare = null;
templates = null;
videos = null;
};
};
home = {
file = {
".ssh" = {
source = config.lib.file.mkOutOfStoreSymlink sshPath;
target = ".ssh";
};
"Music" = {
source = config.lib.file.mkOutOfStoreSymlink musicPath;
target = "${config.home.homeDirectory}/Music";
};
};
username = "${config.xlib.devices.admin}";
};
};
nixosModule =
{ ... }:
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.${config.xlib.devices.admin} = homeModule;
sharedModules = [ inputs.plasma-manager.homeManagerModules.plasma-manager ];
};
};
# Paths
beetsPath = "${xlib.dirs.storage}/beets/linux";
sshPath = "${xlib.dirs.storage}/ssh/${xlib.devices.server.hostname}";
musicPath = "${config.home.homeDirectory}/External/Music";
in
(
(inputs.home-manager.lib.homeManagerConfiguration {
modules = [
homeModule
];
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
})
// {
inherit nixosModule;
}
)
{
imports = [
./minimal.nix
];
xdg = {
configFile = {
"beets" = {
source = config.lib.file.mkOutOfStoreSymlink beetsPath;
target = "beets";
};
};
enable = true;
autostart.enable = true;
userDirs = {
enable = true;
createDirectories = false;
desktop = null;
documents = null;
download = null;
music = null;
pictures = null;
publicShare = null;
templates = null;
videos = null;
};
};
home = {
file = {
".ssh" = {
source = config.lib.file.mkOutOfStoreSymlink sshPath;
target = ".ssh";
};
"Music" = {
source = config.lib.file.mkOutOfStoreSymlink musicPath;
target = "${config.home.homeDirectory}/Music";
};
};
};
}
-59
View File
@@ -1,59 +0,0 @@
{
config,
pkgs,
...
}:
let
# Paths
beetsPath = "${xlib.dirs.wsl-storage}/beets/linux";
#sshPath = "${xlib.dirs.wsl-storage}/ssh/${config.xlib.devices.server.hostname}";
musicPath = "${config.home.homeDirectory}/External/Music";
externalPath = "${xlib.dirs.wsl-home}";
in
{
imports = [
./minimal.nix
];
xdg = {
enable = true;
autostart.enable = true;
configFile = {
"beets" = {
source = config.lib.file.mkOutOfStoreSymlink beetsPath;
target = "beets";
};
};
# userDirs = {
# enable = false;
# createDirectories = false;
# desktop = null;
# documents = null;
# download = null;
# music = null;
# pictures = null;
# publicShare = null;
# templates = null;
# videos = null;
# };
};
home = {
file = {
"External" = {
source = config.lib.file.mkOutOfStoreSymlink externalPath;
target = "External";
};
"Music" = {
source = config.lib.file.mkOutOfStoreSymlink musicPath;
target = "${config.home.homeDirectory}/Music";
};
};
# pointerCursor = {
# enable = true;
# x11.enable = true;
# gtk.enable = true;
# size = 24;
# name = "Qogir";
# package = pkgs.qogir-icon-theme;
# };
};
}
Executable → Regular
+58 -89
View File
@@ -1,91 +1,60 @@
{ inputs, ... }@flakeContext:
{
config,
pkgs,
xlib,
...
}:
let
homeModule =
{
config,
lib,
pkgs,
...
}:
let
# Paths
beetsPath = "${config.xlib.dirs.wsl-storage}/beets/linux";
#sshPath = "${config.xlib.dirs.storage}/ssh/${config.xlib.devices.server.hostname}";
musicPath = "${config.home.homeDirectory}/External/Music";
externalPath = "${config.xlib.dirs.wsl-home}";
in
{
imports = [
inputs.self.homeModules.default
];
xdg = {
enable = true;
autostart.enable = true;
configFile = {
"beets" = {
source = config.lib.file.mkOutOfStoreSymlink beetsPath;
target = "beets";
};
};
# userDirs = {
# enable = false;
# createDirectories = false;
# desktop = null;
# documents = null;
# download = null;
# music = null;
# pictures = null;
# publicShare = null;
# templates = null;
# videos = null;
# };
};
home = {
#username = "${config.xlib.devices.admin}";
file = {
"External" = {
source = config.lib.file.mkOutOfStoreSymlink externalPath;
target = "External";
};
"Music" = {
source = config.lib.file.mkOutOfStoreSymlink musicPath;
target = "${config.home.homeDirectory}/Music";
};
};
# pointerCursor = {
# enable = true;
# x11.enable = true;
# gtk.enable = true;
# size = 24;
# name = "Qogir";
# package = pkgs.qogir-icon-theme;
# };
};
};
nixosModule =
{ config, ... }:
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.${config.xlib.devices.admin} = homeModule;
# sharedModules = [ inputs.plasma-manager.homeManagerModules.plasma-manager ];
# extraSpecialArgs = {
# inherit (config.networking) hostName;
# };
};
};
# Paths
beetsPath = "${xlib.dirs.wsl-storage}/beets/linux";
#sshPath = "${xlib.dirs.wsl-storage}/ssh/${config.xlib.devices.server.hostname}";
musicPath = "${config.home.homeDirectory}/External/Music";
externalPath = "${xlib.dirs.wsl-home}";
in
(
(inputs.home-manager.lib.homeManagerConfiguration {
modules = [
homeModule
];
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
})
// {
inherit nixosModule;
}
)
{
imports = [
./minimal.nix
];
xdg = {
enable = true;
autostart.enable = true;
configFile = {
"beets" = {
source = config.lib.file.mkOutOfStoreSymlink beetsPath;
target = "beets";
};
};
# userDirs = {
# enable = false;
# createDirectories = false;
# desktop = null;
# documents = null;
# download = null;
# music = null;
# pictures = null;
# publicShare = null;
# templates = null;
# videos = null;
# };
};
home = {
file = {
"External" = {
source = config.lib.file.mkOutOfStoreSymlink externalPath;
target = "External";
};
"Music" = {
source = config.lib.file.mkOutOfStoreSymlink musicPath;
target = "${config.home.homeDirectory}/Music";
};
};
# pointerCursor = {
# enable = true;
# x11.enable = true;
# gtk.enable = true;
# size = 24;
# name = "Qogir";
# package = pkgs.qogir-icon-theme;
# };
};
}
+2 -2
View File
@@ -20,12 +20,12 @@ let
in
{
systemd.tmpfiles.rules = [
"z /mnt/beets 0700 ${config.xlib.devices.admin} users -" # beets absolute paths
"z /mnt/beets 0700 ${config.xlib.device.username} users -" # beets absolute paths
];
users = {
users = {
"${config.xlib.devices.admin}" = {
"${config.xlib.device.username}" = {
packages = [
beetsEnv
pkgs.mp3gain