Flake Inputs: • Updated input 'custom-sidebar-src': 'github:elchininet/custom-sidebar' (2025-04-08) rev: 92e8339321e61c4ee3a0e5628ccb6e80db152320 → 'github:elchininet/custom-sidebar' (2025-04-13) rev: eb4b387e038e66047072e9cdb53a8f7197bc2599 • Updated input 'home-manager': 'github:nix-community/home-manager' (2025-04-09) rev: 79461936709b12e17adb9c91dd02d1c66d577f09 → 'github:nix-community/home-manager' (2025-04-12) rev: db56335ca8942d86f2200664acdbd5b9212b26ad • Updated input 'hyprgrass': 'github:horriblename/hyprgrass' (2025-04-06) rev: 9cf17688ca7346f38d735a7e47339f8a1d895d86 → 'github:horriblename/hyprgrass' (2025-04-13) rev: 5106f7e6857935aed04f579752095fdd2df4d3d1 • Updated input 'hyprland': 'github:hyprwm/Hyprland' (2025-04-10) rev: d775686380c348efe3a2044a5ca8626505249e38 → 'github:hyprwm/Hyprland' (2025-04-13) rev: f4e19d3f1e27b4cf1236e93d767f9f6e916730ea • Updated input 'jovian': 'github:Jovian-Experiments/Jovian-NixOS' (2025-04-10) rev: 10d3614023e2fb15e5e7089235e9958b9aa71a6c → 'github:Jovian-Experiments/Jovian-NixOS' (2025-04-12) rev: 1dd888cc60079910fba27eb43b959b633e3b466c • Updated input 'material-symbols-src': 'github:beecho01/material-symbols' (2025-03-15) rev: 5c209b25151271a01ab73d02bda0ed4709c681eb → 'github:beecho01/material-symbols' (2025-04-11) rev: 1182e26a614454b1c713a353c7c504913b7ce7f6 • Updated input 'nix-eval-jobs': 'github:nix-community/nix-eval-jobs' (2024-12-10) rev: 8e82a79fe9329f3be4836ad45d4edf2383e7723a → 'github:nix-community/nix-eval-jobs' (2025-04-11) rev: e376e07271dd405d5427e2dd4a29864fb5347f34 • Updated input 'nix-fast-build': 'github:Mic92/nix-fast-build' (2025-04-09) rev: 93b318c24112dd435a265ecc6bf09401e63ade63 → 'github:Mic92/nix-fast-build' (2025-04-13) rev: 1556d8c533d8fee16ee7c46aa7092ef18d8b39ae • Updated input 'nix-gaming': 'github:fufexan/nix-gaming' (2025-04-08) rev: abc089ceb741aa5e05f6064a2246a46a2b4c01a5 → 'github:fufexan/nix-gaming' (2025-04-13) rev: 3be2c40717a973af17228d2dd14de0dbd6b91a6d • Updated input 'nix-index-db': 'github:Mic92/nix-index-database' (2025-04-06) rev: a36f6a7148aec2c77d78e4466215cceb2f5f4bfb → 'github:Mic92/nix-index-database' (2025-04-13) rev: 4fc9ea78c962904f4ea11046f3db37c62e8a02fd • Added input 'nix-serve-ng': 'github:aristanetworks/nix-serve-ng' (2025-04-09) rev: 101b4a552f3651f5ad8ac8185c6d9c0159e543b9 • Added input 'nix-serve-ng/flake-compat': follows 'flake-compat' • Added input 'nix-serve-ng/nixpkgs': follows 'nixpkgs' • Added input 'nix-serve-ng/utils': follows 'flake-utils' • Updated input 'nixcord': 'github:kaylorben/nixcord' (2025-04-05) rev: 2903d897d5939324a758bd3f2cee1fbcb118b5d1 → 'github:kaylorben/nixcord' (2025-04-10) rev: 76c3b99646d12437ec7183939eca911549e4d18f • Updated input 'nixd': 'github:nix-community/nixd' (2025-04-09) rev: da336c8f60b7000db4dddb3db2639bbb7f286b0e → 'github:nix-community/nixd' (2025-04-12) rev: 3aa27fde1edcf7b126c70a62aad05d120209363c • Updated input 'nixpkgs': 'github:NixOS/nixpkgs' (2025-04-08) rev: c8cd81426f45942bb2906d5ed2fe21d2f19d95b7 → 'github:NixOS/nixpkgs' (2025-04-12) rev: 2631b0b7abcea6e640ce31cd78ea58910d31e650 • Updated input 'sops-nix': 'github:Mic92/sops-nix' (2025-04-08) rev: 69d5a5a4635c27dae5a742f36108beccc506c1ba → 'github:Mic92/sops-nix' (2025-04-13) rev: 7e147a1ae90f0d4a374938cdc3df3cdaecb9d388 • Updated input 'spotifyplus-src': 'github:thlucas1/homeassistantcomponent_spotifyplus' (2025-04-07) rev: f8e65f272d3c17d332e30a55a5bd8d63c09d0285 → 'github:thlucas1/homeassistantcomponent_spotifyplus' (2025-04-12) rev: 70fa77270835fb4b998c411b839e72764d3f9e7b • Updated input 'tuya-local-src': 'github:make-all/tuya-local' (2025-04-10) rev: 7f0ec4821942195c9fcbaa11d6e89f5369ee7875 → 'github:make-all/tuya-local' (2025-04-13) rev: 2d3954b9591470d16aad864e4818e5bee169205a • Updated input 'vimplugin-roslyn-nvim-src': 'github:seblj/roslyn.nvim' (2025-04-08) rev: 09541daaefaa61a422a4ae979dcc8d1b5cd37e42 → 'github:seblj/roslyn.nvim' (2025-04-12) rev: f64609e4ab21a4cc28af2f526974c961d6adacca Docker Images: • nextcloud fpm: sha256:45472bf7b3bc012f5a20a5ea2cc88636c6d6728ec4fed1b880b7198f36cf23f6 → sha256:dcff0b12c4b301ca85074068b262cde17888170cb7f779397e9ee07adaf0aa45 • cyfershepard/jellystat latest: sha256:655642855f67cf810a76802afc13987ed88571a9ce865ad28ba7a09ad9bb568f → sha256:3cb35f261ae2581e90c64e00a5a310247cd886832e7ccd71f79a6205963de44e • ghcr.io/linuxserver/radarr latest: sha256:fe049905ecdfaedf6f37698a3974261c1ef7e5bb165bed6c6d9616c7b9002a88 → sha256:5ad8df1b0dc0bb0c2232a9278b85c3c230d82184415f83238b5969da8dc6a942 • ghcr.io/linuxserver/sonarr latest: sha256:7342ef32dd9cd6d13638765cfb8034edd4c80b0584f427159fd7f5ddeef5399d → sha256:5c6e66c36fd0afe1323b3478b2289b5bff6e9ff17ee2c315feee29316ddb9140 Node modules: @types/node: 22.14.0 -> 22.14.1
119 lines
3.1 KiB
Nix
119 lines
3.1 KiB
Nix
inputs: let
|
|
inherit (builtins) removeAttrs;
|
|
in rec {
|
|
# Import pkgs from a nixpkgs instance
|
|
mkPkgs = {
|
|
system,
|
|
nixpkgs,
|
|
cfg ? {},
|
|
nix ? null,
|
|
cudaSupport ? false,
|
|
}:
|
|
import nixpkgs {
|
|
inherit system;
|
|
overlays = nixpkgs.lib.unique ([
|
|
# Needed for nix-version overlay
|
|
inputs.nix-serve-ng.overlays.default
|
|
|
|
(inputs.self.overlays.nix-version {inherit nix;})
|
|
inputs.self.overlays.misc-fixes
|
|
inputs.self.overlays.appsPackages
|
|
inputs.self.overlays.selfPackages
|
|
inputs.self.overlays.scopedPackages
|
|
]
|
|
++ (cfg.overlays or []));
|
|
config =
|
|
{
|
|
inherit cudaSupport;
|
|
allowUnfree = true;
|
|
|
|
# In case I need an insecure package in my devShells
|
|
permittedInsecurePackages =
|
|
[]
|
|
++ (cfg.config.permittedInsecurePackages or []);
|
|
}
|
|
// (removeAttrs (
|
|
if cfg.config or null == null
|
|
then {}
|
|
else cfg.config
|
|
) ["permittedInsecurePackages"]);
|
|
};
|
|
|
|
# Enable use of `nixpkgs.overlays` on both NixOS and NixOnDroid
|
|
allowModularOverrides = {
|
|
cudaSupport ? false,
|
|
system,
|
|
}: ({config, ...}: let
|
|
pkgs = mkPkgs {
|
|
cfg = config.nixpkgs;
|
|
nix = config.nix.package;
|
|
inherit system cudaSupport;
|
|
inherit (inputs) nixpkgs;
|
|
};
|
|
inherit (pkgs.lib) mkForce;
|
|
in {
|
|
_module.args.pkgs = mkForce pkgs;
|
|
});
|
|
|
|
# Default system
|
|
mkNixOS = {
|
|
extraModules ? [],
|
|
cudaSupport ? false,
|
|
mainUser ? "matt",
|
|
}:
|
|
inputs.nixpkgs.lib.nixosSystem rec {
|
|
system = "x86_64-linux";
|
|
specialArgs = inputs // {inherit mainUser;};
|
|
modules =
|
|
[
|
|
(allowModularOverrides {inherit system cudaSupport;})
|
|
inputs.home-manager.nixosModules.home-manager
|
|
{home-manager.extraSpecialArgs = specialArgs;}
|
|
]
|
|
++ extraModules;
|
|
};
|
|
|
|
mkNixOnDroid = extraModules: let
|
|
system = "aarch64-linux";
|
|
in
|
|
inputs.nix-on-droid.lib.nixOnDroidConfiguration rec {
|
|
extraSpecialArgs = inputs;
|
|
home-manager-path = inputs.home-manager.outPath;
|
|
pkgs = mkPkgs {
|
|
inherit system;
|
|
inherit (inputs) nixpkgs;
|
|
};
|
|
|
|
modules =
|
|
[
|
|
(allowModularOverrides {inherit system;})
|
|
|
|
({
|
|
config,
|
|
lib,
|
|
...
|
|
}: let
|
|
inherit (lib) mkForce mkOption types;
|
|
in {
|
|
# Adapt NixOnDroid to NixOS options
|
|
options.environment = {
|
|
variables.FLAKE = mkOption {
|
|
type = with types; nullOr str;
|
|
};
|
|
systemPackages = mkOption {
|
|
type = with types; listOf package;
|
|
default = [];
|
|
};
|
|
};
|
|
|
|
config.environment.packages = config.environment.systemPackages;
|
|
|
|
# This disables the assertion that fails because of nixpkgs.overlays
|
|
config._module.args.isFlake = mkForce false;
|
|
})
|
|
|
|
{home-manager = {inherit extraSpecialArgs;};}
|
|
]
|
|
++ extraModules;
|
|
};
|
|
}
|