storage-refactor #9

Open
jan-leila wants to merge 40 commits from storage-refactor into main
10 changed files with 115 additions and 85 deletions
Showing only changes of commit 730eeef242 - Show all commits

View file

@ -49,7 +49,7 @@
}; };
}; };
extensions.packages = with inputs.firefox-addons.packages.${pkgs.system}; [ extensions.packages = with inputs.firefox-addons.packages.${pkgs.stdenv.hostPlatform.system}; [
bitwarden bitwarden
terms-of-service-didnt-read terms-of-service-didnt-read
multi-account-containers multi-account-containers
@ -68,43 +68,13 @@
snowflake snowflake
deutsch-de-language-pack pkgs.firefox-extensions.deutsch-de-language-pack
dictionary-german dictionary-german
tab-session-manager tab-session-manager
# (\ pkgs.firefox-extensions.italiano-it-language-pack
# buildFirefoxXpiAddon rec {\ pkgs.firefox-extensions.dizionario-italiano
# pname = "italiano-it-language-pack";\
# version = "132.0.20241110.231641";\
# addonId = "langpack-it@firefox.mozilla.org";\
# url = "https://addons.mozilla.org/firefox/downloads/file/4392453/italiano_it_language_pack-${version}.xpi";\
# sha256 = "";\
# meta = with lib;\
# {\
# description = "Firefox Language Pack for Italiano (it) Italian";\
# license = licenses.mpl20;\
# mozPermissions = [];\
# platforms = platforms.all;\
# };\
# }\
# )\
# (\
# buildFirefoxXpiAddon rec {\
# pname = "dizionario-italiano";\
# version = "5.1";\
# addonId = "it-IT@dictionaries.addons.mozilla.org";\
# url = "https://addons.mozilla.org/firefox/downloads/file/1163874/dizionario_italiano-${version}.xpi";\
# sha256 = "";\
# meta = with lib;\
# {\
# description = "Add support for Italian to spellchecking";\
# license = licenses.gpl3;\
# mozPermissions = [];\
# platforms = platforms.all;\
# };\
# }\
# )\
]; ];
settings = { settings = {

42
flake.lock generated
View file

@ -25,11 +25,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1761899396, "lastModified": 1762276996,
"narHash": "sha256-XOpKBp6HLzzMCbzW50TEuXN35zN5WGQREC7n34DcNMM=", "narHash": "sha256-TtcPgPmp2f0FAnc+DMEw4ardEgv1SGNR3/WFGH0N19M=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "6f4cf5abbe318e4cd1e879506f6eeafd83f7b998", "rev": "af087d076d3860760b3323f6b583f4d828c1ac17",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -46,11 +46,11 @@
}, },
"locked": { "locked": {
"dir": "pkgs/firefox-addons", "dir": "pkgs/firefox-addons",
"lastModified": 1762162438, "lastModified": 1762488230,
"narHash": "sha256-GPnRGcVck+TPiQl6Rqj0i57c8hAa34RsQWVqQAW0OVY=", "narHash": "sha256-b7FFUa+bQ8m5din6ylspTTeQvhTf7NNDwC3fPOwCkx4=",
"owner": "rycee", "owner": "rycee",
"repo": "nur-expressions", "repo": "nur-expressions",
"rev": "2cf91d46e558b29f9f9bbdd23408f62e8423aa00", "rev": "05e744e2e2d174b2fd445e51ad38fb8356001a18",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -133,11 +133,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1762183399, "lastModified": 1762463325,
"narHash": "sha256-vr2aL1QLfERYTfYBgK8cW3T9eSdSEThH462wKaGlmEU=", "narHash": "sha256-33YUsWpPyeBZEWrKQ2a1gkRZ7i0XCC/2MYpU6BVeQSU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "a5fee077929ae2f2800c3087dce5e1abb4edfbc6", "rev": "0562fef070a1027325dd4ea10813d64d2c967b39",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -227,11 +227,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1762186368, "lastModified": 1762501326,
"narHash": "sha256-dzLBZKccS0jMefj+WAYwsk7gKDluqavC7I4KfFwVh8k=", "narHash": "sha256-QbhsksHaIN6qU3oXhwUFbYycKX1GRxObpQSWAM5fhRY=",
"owner": "LnL7", "owner": "LnL7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "69921864a70b58787abf5ba189095566c3f0ffd3", "rev": "e2b82ebd0f990a5d1b68fcc761b3d6383c86ccfd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -268,11 +268,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1762135163, "lastModified": 1762480525,
"narHash": "sha256-gP8SCvsYSfi4olYZcrZ4P1IGMzYJSFe1FuO8RL3xpEc=", "narHash": "sha256-7akzuLV8uKP3ym67TJoSIT5hTeC5FG8H745Y/7/7J+8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-vscode-extensions", "repo": "nix-vscode-extensions",
"rev": "5d6525e4d5372973da1777b9ebdb01f033db1395", "rev": "b8b0b207dc13cb7b004f9d0c1d2b76a85e9494c8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -283,11 +283,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1762179181, "lastModified": 1762463231,
"narHash": "sha256-T4+TNfXlF/gHbcNCC2HY7sMGBKgqNzyYeMBWmcbH7/o=", "narHash": "sha256-hv1mG5j5PTbnWbtHHomzTus77pIxsc4x8VrMjc7+/YE=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "256770618502d2eda892af3ae91da5e386ce9586", "rev": "52113c4f5cfd1e823001310e56d9c8d0699a6226",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -315,11 +315,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1762111121, "lastModified": 1762363567,
"narHash": "sha256-4vhDuZ7OZaZmKKrnDpxLZZpGIJvAeMtK6FKLJYUtAdw=", "narHash": "sha256-YRqMDEtSMbitIMj+JLpheSz0pwEr0Rmy5mC7myl17xs=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "b3d51a0365f6695e7dd5cdf3e180604530ed33b4", "rev": "ae814fd3904b621d8ab97418f1d0f2eb0d3716f4",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -91,15 +91,9 @@
util = import ./util {inherit inputs;}; util = import ./util {inherit inputs;};
forEachPkgs = util.forEachPkgs; forEachPkgs = util.forEachPkgs;
mkNixosInstaller = util.mkNixosInstaller;
mkNixosSystem = util.mkNixosSystem; mkNixosSystem = util.mkNixosSystem;
mkDarwinSystem = util.mkDarwinSystem; mkDarwinSystem = util.mkDarwinSystem;
mkHome = util.mkHome; mkHome = util.mkHome;
syncthingConfiguration = util.syncthingConfiguration;
installerSystems = {
basic = mkNixosInstaller "basic" [];
};
nixosSystems = { nixosSystems = {
horizon = mkNixosSystem "horizon"; horizon = mkNixosSystem "horizon";
@ -170,14 +164,10 @@
}; };
}); });
installerConfigurations = installerSystems;
nixosConfigurations = nixosSystems; nixosConfigurations = nixosSystems;
darwinConfigurations = darwinSystems; darwinConfigurations = darwinSystems;
homeConfigurations = homeConfigurations; homeConfigurations = homeConfigurations;
syncthingConfiguration = syncthingConfiguration;
}; };
} }

View file

@ -1,4 +1,8 @@
{pkgs, ...}: { {
pkgs,
inputs,
...
}: {
imports = [ imports = [
./python ./python
]; ];
@ -25,6 +29,11 @@
(final: prev: { (final: prev: {
codium-extensions = pkgs.callPackage ./codium-extensions {}; codium-extensions = pkgs.callPackage ./codium-extensions {};
}) })
(final: prev: {
firefox-extensions = pkgs.callPackage ./firefox-extensions {
inherit inputs;
};
})
(final: prev: { (final: prev: {
mapillary-uploader = pkgs.callPackage ./mapillary-uploader.nix {}; mapillary-uploader = pkgs.callPackage ./mapillary-uploader.nix {};
}) })

View file

@ -0,0 +1,17 @@
{
pkgs,
inputs,
...
}: let
inherit (inputs.firefox-addons.lib.${pkgs.stdenv.hostPlatform.system}) buildFirefoxXpiAddon;
in {
italiano-it-language-pack = pkgs.callPackage ./italiano-it-language-pack.nix {
inherit buildFirefoxXpiAddon;
};
dizionario-italiano = pkgs.callPackage ./dizionario-italiano.nix {
inherit buildFirefoxXpiAddon;
};
deutsch-de-language-pack = pkgs.callPackage ./deutsch-de-language-pack.nix {
inherit buildFirefoxXpiAddon;
};
}

View file

@ -0,0 +1,18 @@
{
lib,
buildFirefoxXpiAddon,
...
}:
buildFirefoxXpiAddon rec {
pname = "deutsch-de-language-pack";
version = "145.0.20251106.194447";
addonId = "langpack-de@firefox.mozilla.org";
url = "https://addons.mozilla.org/firefox/downloads/file/4614311/deutsch_de_language_pack-${version}.xpi";
sha256 = "aaaa95c29984fb3802a5e7edb6b7e5020c391d81f389b8a8133c163959ea4299";
meta = with lib; {
description = "Firefox Language Pack for Deutsch (de) German";
license = licenses.mpl20;
mozPermissions = [];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,18 @@
{
lib,
buildFirefoxXpiAddon,
...
}:
buildFirefoxXpiAddon rec {
pname = "dizionario-italiano";
version = "5.1";
addonId = "it-IT@dictionaries.addons.mozilla.org";
url = "https://addons.mozilla.org/firefox/downloads/file/3693497/dizionario_italiano-${version}.xpi";
sha256 = "90b173ffdde34a77108152a5ff51879767b1dd84e0aa0dfb7b2bab94cd2e7f53";
meta = with lib; {
description = "Add support for Italian to spellchecking";
license = licenses.gpl3;
mozPermissions = [];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,18 @@
{
lib,
buildFirefoxXpiAddon,
...
}:
buildFirefoxXpiAddon rec {
pname = "italiano-it-language-pack";
version = "145.0.20251106.194447";
addonId = "langpack-it@firefox.mozilla.org";
url = "https://addons.mozilla.org/firefox/downloads/file/4614309/italiano_it_language_pack-${version}.xpi";
sha256 = "1eb271cedbf326543e222ba1b9a1da62fceef9d3c523ac02a098df296f155038";
meta = with lib; {
description = "Firefox Language Pack for Italiano (it) Italian";
license = licenses.mpl20;
mozPermissions = [];
platforms = platforms.all;
};
}

View file

@ -1,7 +1,7 @@
{ {
config, config,
lib, lib,
outputs, syncthingConfiguration,
... ...
}: let }: let
mountDir = "/mnt/sync"; mountDir = "/mnt/sync";
@ -27,7 +27,7 @@ in {
configDir = configDir; configDir = configDir;
overrideDevices = true; overrideDevices = true;
overrideFolders = true; overrideFolders = true;
configuration = outputs.syncthingConfiguration; configuration = syncthingConfiguration;
deviceName = config.networking.hostName; deviceName = config.networking.hostName;
}; };
} }

View file

@ -52,6 +52,12 @@
home-manager-config home-manager-config
../modules/system-modules ../modules/system-modules
]; ];
syncthingConfiguration = nix-syncthing.lib.syncthingConfiguration {
modules = [
(import ../configurations/syncthing)
];
};
in { in {
forEachPkgs = lambda: forEachSystem (system: lambda system (pkgsFor system)); forEachPkgs = lambda: forEachSystem (system: lambda system (pkgsFor system));
@ -62,19 +68,9 @@ in {
(lib.mkUnless condition no) (lib.mkUnless condition no)
]; ];
mkNixosInstaller = host: userKeys:
nixpkgs.lib.nixosSystem {
modules = [
{
# TODO: authorized keys for all users and hosts
}
../configurations/nixos/${host}
];
};
mkNixosSystem = host: mkNixosSystem = host:
nixpkgs.lib.nixosSystem { nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs outputs util;}; specialArgs = {inherit inputs outputs util syncthingConfiguration;};
modules = modules =
system-modules system-modules
++ [ ++ [
@ -119,10 +115,4 @@ in {
../configurations/home-manager/${user} ../configurations/home-manager/${user}
]; ];
}; };
syncthingConfiguration = nix-syncthing.lib.syncthingConfiguration {
modules = [
(import ../configurations/syncthing)
];
};
} }