nixos-configs/outputs.nix
matt1432 cc80e9f265
All checks were successful
Discord / discord commits (push) Has been skipped
chore: update sources
Flake Inputs:
• Updated input 'astal':
    'github:Aylur/astal/b7af61d' (2024-11-24)
  → 'github:Aylur/astal/12fa0fb' (2024-11-26)

• Updated input 'custom-sidebar-src':
    'github:elchininet/custom-sidebar/d0c4394' (2024-11-25)
  → 'github:elchininet/custom-sidebar/91af66e' (2024-11-26)

• Updated input 'discord-overlay':
    'github:matt1432/discord-nightly-overlay/a397f74' (2024-11-25)
  → 'github:matt1432/discord-nightly-overlay/0ea4f4d' (2024-11-26)

• Updated input 'gtk-theme-src':
    'github:dracula/gtk/fda0fb5' (2024-11-17)
  → 'github:dracula/gtk/788add3' (2024-11-26)

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/2687788' (2024-11-25)
  → 'github:hyprwm/Hyprland/1fb720b' (2024-11-26)

• Updated input 'jellyfin-flake':
    'github:matt1432/nixos-jellyfin/74f284f' (2024-11-24)
  → 'github:matt1432/nixos-jellyfin/28c58c6' (2024-11-27)

• Updated input 'jovian':
    'github:Jovian-Experiments/Jovian-NixOS/98a61cf' (2024-11-24)
  → 'github:Jovian-Experiments/Jovian-NixOS/e86d2ad' (2024-11-26)

• Updated input 'nh':
    'github:viperML/nh/cff51af' (2024-11-20)
  → 'github:viperML/nh/51020a2' (2024-11-26)

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5e4fbfb' (2024-11-15)
  → 'github:NixOS/nixpkgs/4633a7c' (2024-11-25)

• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/0c3d6b6' (2024-11-25)
  → 'github:nix-community/nixpkgs-wayland/af74f7c' (2024-11-26)

• Updated input 'sops-nix':
    'github:Mic92/sops-nix/53c853f' (2024-11-21)
  → 'github:Mic92/sops-nix/3433ea1' (2024-11-25)

• Updated input 'tuya-local-src':
    'github:make-all/tuya-local/c13cf16' (2024-11-25)
  → 'github:make-all/tuya-local/56f76f9' (2024-11-26)

Docker Images:
• rssbridge/rss-bridge latest:
   sha256:72218407217f2495a5f7f39b0adc1fdefba05c2fdecae6d4df1192389a250426
 → sha256:a0ceedea6bfcaf7c8a2508b110ce20af6f5931f6f720674e414400fcae19d3af

• nginx latest:
   sha256:bc5eac5eafc581aeda3008b4b1f07ebba230de2f27d47767129a6a905c84f470
 → sha256:0c86dddac19f2ce4fd716ac58c0fd87bf69bfd4edabfd6971fb885bafd12a00b

• ghcr.io/linuxserver/bazarr latest:
   sha256:0d544276b51e11fb96f4bccd7d5babef597be0199364a11c0cdf24ab0470c381
 → sha256:5805d6a44689a41cf78a8317208276a52f0647fb3cd0b2c4a3c8df6e02f93d3b

• ghcr.io/linuxserver/prowlarr latest:
   sha256:c492863c8e1da876a6be3d0d5836f25b3547c0a3293f0e9f09cd198ebf47ea37
 → sha256:2ae64259bfca88972deec4cffa3750a454224283515854408e35af480f167cd7

• ghcr.io/linuxserver/sonarr latest:
   sha256:a30d870ae503e617e84909367c8f19096567ef60834fa8d81d86d17a13e50d1a
 → sha256:f1b771bf5f911ddb11aa86170ae27fab5ccde7d4671edcde6a3b264af8662945
2024-11-26 22:26:28 -05:00

228 lines
5.3 KiB
Nix

{
inputs = let
inherit (import ./inputs) mkDep mkInput extraInputs;
mainInputs = {
systems = mkInput {
owner = "nix-systems";
repo = "default-linux";
};
nixpkgs = mkInput {
owner = "NixOS";
repo = "nixpkgs";
ref = "nixos-unstable";
};
home-manager = mkDep {
owner = "nix-community";
repo = "home-manager";
};
nix-on-droid = mkDep {
owner = "nix-community";
repo = "nix-on-droid";
inputs.home-manager.follows = "home-manager";
};
sops-nix = mkDep {
owner = "Mic92";
repo = "sops-nix";
};
secrets = mkDep {
type = "git";
url = "ssh://git@git.nelim.org/matt1432/nixos-secrets";
inputs.sops-nix.follows = "sops-nix";
};
};
in
mainInputs // extraInputs;
outputs = inputs @ {
nixpkgs,
secrets,
self,
systems,
...
}: let
inherit (self.lib) mkVersion mkNixOS mkNixOnDroid mkPkgs;
perSystem = attrs:
nixpkgs.lib.genAttrs (import systems) (system:
attrs (mkPkgs {inherit system nixpkgs;}));
in {
lib = import ./lib {inherit inputs perSystem;};
nixosModules = import ./nixosModules self;
homeManagerModules = import ./homeManagerModules self;
nixosConfigurations = {
# Desktops
wim = mkNixOS {
extraModules = [
./devices/wim
secrets.nixosModules.default
];
};
binto = mkNixOS {
cudaSupport = true;
extraModules = [./devices/binto];
};
bbsteamie = mkNixOS {
mainUser = "mariah";
extraModules = [./devices/bbsteamie];
};
# NAS
nos = mkNixOS {
cudaSupport = true;
extraModules = [
./devices/nos
secrets.nixosModules.nos
];
};
# Build / test server
servivi = mkNixOS {
extraModules = [
./devices/servivi
secrets.nixosModules.servivi
];
};
# Home-assistant
homie = mkNixOS {
extraModules = [
./devices/homie
secrets.nixosModules.homie
];
};
# Cluster
thingone = mkNixOS {
extraModules = [
(import ./devices/cluster "thingone")
secrets.nixosModules.thingy
];
};
thingtwo = mkNixOS {
extraModules = [
(import ./devices/cluster "thingtwo")
secrets.nixosModules.thingy
];
};
live-image = mkNixOS {
mainUser = "nixos";
extraModules = [./devices/live-image];
};
};
nixOnDroidConfigurations.default =
mkNixOnDroid [./devices/android];
scopedPackages =
perSystem (pkgs:
import ./scopedPackages {inherit inputs mkVersion pkgs;});
packages =
perSystem (pkgs:
import ./packages {inherit inputs mkVersion pkgs;});
overlays = import ./overlays {};
apps =
perSystem (pkgs:
import ./apps {inherit inputs pkgs;});
appsPackages =
perSystem (pkgs:
import ./apps/nix/packages.nix {inherit pkgs self;});
devShells = perSystem (pkgs: let
bumpNpmDeps = pkgs.writeShellApplication {
name = "bumpNpmDeps";
runtimeInputs = builtins.attrValues {
inherit
(pkgs)
prefetch-npm-deps
nodejs_latest
;
};
text = ''
npm i --package-lock-only || true # this command will fail but still updates the main lockfile
prefetch-npm-deps ./package-lock.json
'';
};
in {
default = pkgs.mkShell {
packages = [
(pkgs.writeShellScriptBin "mkIso" ''
isoConfig="nixosConfigurations.live-image.config.system.build.isoImage"
nom build $(realpath /etc/nixos)#$isoConfig
'')
(pkgs.writeShellApplication {
name = "fixUidChange";
text = ''
GROUP="$1"
OLD_GID="$2"
NEW_GID="$3"
sudo sed -i -e "/^$GROUP:/d" /etc/group # Remove generated group entry
sudo find / -gid "$OLD_GID" -exec chgrp "$NEW_GID" {} + # Change GID on existing files
exec nh os switch # Regenerate /etc/group with new GID
'';
})
];
};
netdaemon = pkgs.mkShell {
packages = [
pkgs.dotnet-sdk_8
];
};
node = pkgs.mkShell {
packages =
(builtins.attrValues {
inherit
(pkgs)
nodejs_latest
typescript
;
})
++ [bumpNpmDeps];
};
subtitles-dev = pkgs.mkShell {
packages =
(builtins.attrValues {
inherit
(pkgs)
nodejs_latest
ffmpeg-full
typescript
;
inherit
(pkgs.nodePackages)
ts-node
;
})
++ [bumpNpmDeps];
};
});
# For nix-fast-build. I use a custom output to alleviate eval time of this flake. ie. when doing nix flake show
nixFastChecks =
perSystem (pkgs:
import ./checks {inherit pkgs self;});
formatter = perSystem (pkgs: pkgs.alejandra);
};
}