nixos-configs/outputs.nix

213 lines
4.8 KiB
Nix
Raw Normal View History

{
inputs = let
inherit (import ./inputs.nix) mkDep mkInput otherInputs;
mainInputs = {
systems = mkInput {
owner = "nix-systems";
repo = "default-linux";
};
nixpkgs = mkInput {
owner = "NixOS";
repo = "nixpkgs";
chore: unpin hyprland and nextcloud, switch back to nixos-unstable Flake Inputs: • Updated input 'astal': 'github:Aylur/astal/5ae0a9e' (2024-09-21) → 'github:Aylur/astal/8cab7d0' (2024-09-22) • Updated input 'home-manager': 'github:nix-community/home-manager/14929f7' (2024-09-21) → 'github:nix-community/home-manager/04213d1' (2024-09-22) • Updated input 'hyprland': 'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=b248d59&submodules=1' (2024-09-18) → 'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=e5ff19a&submodules=1' (2024-09-22) • Updated input 'jovian': 'github:Jovian-Experiments/Jovian-NixOS/faf4c74' (2024-09-21) → 'github:Jovian-Experiments/Jovian-NixOS/d71bcb4' (2024-09-22) • Updated input 'nix-gaming': 'github:fufexan/nix-gaming/7ea77f2' (2024-09-20) → 'github:fufexan/nix-gaming/43a085b' (2024-09-22) • Updated input 'nix-index-db': 'github:Mic92/nix-index-database/c1b0fa0' (2024-09-16) → 'github:Mic92/nix-index-database/c7515c2' (2024-09-22) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/eca2693' (2024-09-21) → 'github:NixOS/nixpkgs/c04d565' (2024-09-19) • Updated input 'nixpkgs-wayland': 'github:nix-community/nixpkgs-wayland/ff23ca1' (2024-09-21) → 'github:nix-community/nixpkgs-wayland/a1318d7' (2024-09-22) Docker Images: • nextcloud fpm: sha256:74e016552a6f908fa3700c0dfa3757fb20f8ff2a630cd357ebbdc9c359a53bf0 → sha256:724553f742322d67f34282be46b414572d4e0cd46ccd54d2f2a24b6a87a472b0 • ghcr.io/linuxserver/radarr latest: sha256:dfbce5095045fc1c15058318342ee590ab50379854b13464dd2ca17b10c4beb4 → sha256:df843d96b812d858b94377ffed1918424ece6735038a19e8ff93730277757b65
2024-09-22 14:05:24 -04:00
ref = "nixos-unstable";
};
home-manager = mkDep {
2024-06-11 19:17:20 -04:00
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";
};
2024-06-28 13:44:12 -04:00
jovian = mkDep {
owner = "Jovian-Experiments";
repo = "Jovian-NixOS";
};
};
in
mainInputs // otherInputs;
outputs = inputs @ {
nixpkgs,
secrets,
self,
systems,
...
}: let
inherit (import ./lib {inherit inputs;}) mkVersion mkNixOS mkNixOnDroid mkPkgs;
perSystem = attrs:
nixpkgs.lib.genAttrs (import systems) (system:
attrs (mkPkgs {inherit system nixpkgs;}));
in {
nixosModules = import ./nixosModules self;
homeManagerModules = import ./homeManagerModules self;
nixosConfigurations = {
# Desktops
wim = mkNixOS {
extraModules = [
./devices/wim
secrets.nixosModules.default
];
};
binto = mkNixOS {
chore: update flake.lock Flake Inputs: • Updated input 'agsV2': 'github:Aylur/ags/9c1b7ba' (2024-09-22) → 'github:Aylur/ags/ff3740e' (2024-09-27) • Updated input 'astal': 'github:Aylur/astal/c68d116' (2024-09-26) → 'github:Aylur/astal/9e63fe3' (2024-09-28) • Updated input 'discord-overlay': 'github:matt1432/discord-nightly-overlay/ce9de15' (2024-09-26) → 'github:matt1432/discord-nightly-overlay/5cc5b7f' (2024-09-28) • Updated input 'gpu-screen-recorder-src': 'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=0b20a46' (2024-09-26) → 'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=ebc8c69' (2024-09-27) • Updated input 'home-manager': 'github:nix-community/home-manager/c124568' (2024-09-26) → 'github:nix-community/home-manager/ffe2d07' (2024-09-26) • Updated input 'hyprland': 'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=caaa9b1&submodules=1' (2024-09-26) → 'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=6f313de&submodules=1' (2024-09-28) • Added input 'hyprland/hyprland-protocols': 'github:hyprwm/hyprland-protocols/6b3261e' (2024-09-27) • Updated input 'jovian': 'github:Jovian-Experiments/Jovian-NixOS/03aa054' (2024-09-23) → 'github:Jovian-Experiments/Jovian-NixOS/3390ff2' (2024-09-27) • Updated input 'nix-fast-build': 'github:Mic92/nix-fast-build/030e586' (2024-06-27) → 'github:Mic92/nix-fast-build/bd134ae' (2024-09-27) • Updated input 'nix-gaming': 'github:fufexan/nix-gaming/f3e9775' (2024-09-23) → 'github:fufexan/nix-gaming/b9750ee' (2024-09-28) • Updated input 'nixd': 'github:nix-community/nixd/a47ac2c' (2024-09-19) → 'github:nix-community/nixd/e5e144f' (2024-09-28) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/30439d9' (2024-09-23) → 'github:NixOS/nixpkgs/1925c60' (2024-09-26) • Updated input 'nixpkgs-wayland': 'github:nix-community/nixpkgs-wayland/73529b9' (2024-09-26) → 'github:nix-community/nixpkgs-wayland/811af6a' (2024-09-27) • Updated input 'sops-nix': 'github:Mic92/sops-nix/e2d404a' (2024-09-16) → 'github:Mic92/sops-nix/127a96f' (2024-09-27) • Updated input 'spotifywebapi-src': 'github:thlucas1/SpotifyWebApiPython/59a7cb4' (2024-09-24) → 'github:thlucas1/SpotifyWebApiPython/092a1cf' (2024-09-26) Docker Images: • postgres 14: sha256:1bd26d434ac67d210a42cf19fa0812efd22472e0494f9c6ffa654509f427608a → sha256:626046694f31a4a6a92511bbeca43f7e78ea8c6ae2f2ed70bbaa9b9abd5b67ab • ghcr.io/gethomepage/homepage latest: sha256:5c264918d2d18a753da8657fee7e0579c8b11581b19275d9a93fde76a8267f3c → sha256:671c2ed1a61b5dfbb9a1998c8738c3aeb1acf11adbc12563f81fcf4fd9802198 • ghcr.io/immich-app/immich-machine-learning release: sha256:66f13f7fb1af555f9f1767c3dd5d404b7e5f486a272dc73af9e6480f541463dc → sha256:60d6d3b7090c664b76adabd00c06674e25c5a91419e374bff4e7cf2ee5dd920a • ghcr.io/immich-app/immich-server release: sha256:544fcfc41ce97833e33126e5041fb3b821e3db7bf405b54ac06689247a170a90 → sha256:effd3d44202964c5f53af85e0fd0f2ca5287c989a43c4d55ba71133eb148bed3 • nextcloud fpm: sha256:724553f742322d67f34282be46b414572d4e0cd46ccd54d2f2a24b6a87a472b0 → sha256:88ad5957e747ddceb7641b072c22a0fbf85fe3b7ca9fc63a871d72b14e5d0ae1 • nginx latest: sha256:04ba374043ccd2fc5c593885c0eacddebabd5ca375f9323666f28dfd5a9710e3 → sha256:b5d3f3e104699f0768e5ca8626914c16e52647943c65274d8a9e63072bd015bb • ghcr.io/linuxserver/prowlarr latest: sha256:8d3da3256868cf40f06cdca2074dee07a190ec42a6df022fb9fe6f73842ba293 → sha256:a6fc8ab9ff34d82327d29f8b5bfb7a672c0e54a274e5e5b023db01c335d05dfd • ghcr.io/linuxserver/sonarr latest: sha256:98c21a64377619ec74778c70cc2e74d3e978a4d2c61f97b9ad88a0e5bc0766f9 → sha256:12570fbaddc8733664e1e5d9bb12a719cb07f9455c518097b0e6426f4960f884 Firefox Addons: floccus: 5.2.7 -> 5.3.0.2 sponsorblock: 5.8.1 -> 5.9
2024-09-28 13:31:03 -04:00
cudaSupport = true;
extraModules = [./devices/binto];
};
bbsteamie = mkNixOS {extraModules = [./devices/bbsteamie];};
# NAS
nos = mkNixOS {
chore: update flake.lock Flake Inputs: • Updated input 'agsV2': 'github:Aylur/ags/9c1b7ba' (2024-09-22) → 'github:Aylur/ags/ff3740e' (2024-09-27) • Updated input 'astal': 'github:Aylur/astal/c68d116' (2024-09-26) → 'github:Aylur/astal/9e63fe3' (2024-09-28) • Updated input 'discord-overlay': 'github:matt1432/discord-nightly-overlay/ce9de15' (2024-09-26) → 'github:matt1432/discord-nightly-overlay/5cc5b7f' (2024-09-28) • Updated input 'gpu-screen-recorder-src': 'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=0b20a46' (2024-09-26) → 'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=ebc8c69' (2024-09-27) • Updated input 'home-manager': 'github:nix-community/home-manager/c124568' (2024-09-26) → 'github:nix-community/home-manager/ffe2d07' (2024-09-26) • Updated input 'hyprland': 'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=caaa9b1&submodules=1' (2024-09-26) → 'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=6f313de&submodules=1' (2024-09-28) • Added input 'hyprland/hyprland-protocols': 'github:hyprwm/hyprland-protocols/6b3261e' (2024-09-27) • Updated input 'jovian': 'github:Jovian-Experiments/Jovian-NixOS/03aa054' (2024-09-23) → 'github:Jovian-Experiments/Jovian-NixOS/3390ff2' (2024-09-27) • Updated input 'nix-fast-build': 'github:Mic92/nix-fast-build/030e586' (2024-06-27) → 'github:Mic92/nix-fast-build/bd134ae' (2024-09-27) • Updated input 'nix-gaming': 'github:fufexan/nix-gaming/f3e9775' (2024-09-23) → 'github:fufexan/nix-gaming/b9750ee' (2024-09-28) • Updated input 'nixd': 'github:nix-community/nixd/a47ac2c' (2024-09-19) → 'github:nix-community/nixd/e5e144f' (2024-09-28) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/30439d9' (2024-09-23) → 'github:NixOS/nixpkgs/1925c60' (2024-09-26) • Updated input 'nixpkgs-wayland': 'github:nix-community/nixpkgs-wayland/73529b9' (2024-09-26) → 'github:nix-community/nixpkgs-wayland/811af6a' (2024-09-27) • Updated input 'sops-nix': 'github:Mic92/sops-nix/e2d404a' (2024-09-16) → 'github:Mic92/sops-nix/127a96f' (2024-09-27) • Updated input 'spotifywebapi-src': 'github:thlucas1/SpotifyWebApiPython/59a7cb4' (2024-09-24) → 'github:thlucas1/SpotifyWebApiPython/092a1cf' (2024-09-26) Docker Images: • postgres 14: sha256:1bd26d434ac67d210a42cf19fa0812efd22472e0494f9c6ffa654509f427608a → sha256:626046694f31a4a6a92511bbeca43f7e78ea8c6ae2f2ed70bbaa9b9abd5b67ab • ghcr.io/gethomepage/homepage latest: sha256:5c264918d2d18a753da8657fee7e0579c8b11581b19275d9a93fde76a8267f3c → sha256:671c2ed1a61b5dfbb9a1998c8738c3aeb1acf11adbc12563f81fcf4fd9802198 • ghcr.io/immich-app/immich-machine-learning release: sha256:66f13f7fb1af555f9f1767c3dd5d404b7e5f486a272dc73af9e6480f541463dc → sha256:60d6d3b7090c664b76adabd00c06674e25c5a91419e374bff4e7cf2ee5dd920a • ghcr.io/immich-app/immich-server release: sha256:544fcfc41ce97833e33126e5041fb3b821e3db7bf405b54ac06689247a170a90 → sha256:effd3d44202964c5f53af85e0fd0f2ca5287c989a43c4d55ba71133eb148bed3 • nextcloud fpm: sha256:724553f742322d67f34282be46b414572d4e0cd46ccd54d2f2a24b6a87a472b0 → sha256:88ad5957e747ddceb7641b072c22a0fbf85fe3b7ca9fc63a871d72b14e5d0ae1 • nginx latest: sha256:04ba374043ccd2fc5c593885c0eacddebabd5ca375f9323666f28dfd5a9710e3 → sha256:b5d3f3e104699f0768e5ca8626914c16e52647943c65274d8a9e63072bd015bb • ghcr.io/linuxserver/prowlarr latest: sha256:8d3da3256868cf40f06cdca2074dee07a190ec42a6df022fb9fe6f73842ba293 → sha256:a6fc8ab9ff34d82327d29f8b5bfb7a672c0e54a274e5e5b023db01c335d05dfd • ghcr.io/linuxserver/sonarr latest: sha256:98c21a64377619ec74778c70cc2e74d3e978a4d2c61f97b9ad88a0e5bc0766f9 → sha256:12570fbaddc8733664e1e5d9bb12a719cb07f9455c518097b0e6426f4960f884 Firefox Addons: floccus: 5.2.7 -> 5.3.0.2 sponsorblock: 5.8.1 -> 5.9
2024-09-28 13:31:03 -04:00
cudaSupport = true;
extraModules = [
./devices/nos
secrets.nixosModules.nos
];
};
# Build / test server
servivi = mkNixOS {
extraModules = [
./devices/servivi
secrets.nixosModules.servivi
];
};
2024-08-18 20:59:01 -04:00
# Home-assistant
2024-09-05 22:42:17 -04:00
homie = mkNixOS {
chore: update flake.lock Flake Inputs: • Updated input 'discord-overlay': 'github:matt1432/discord-nightly-overlay/0e14fde' (2024-09-05) → 'github:matt1432/discord-nightly-overlay/925a600' (2024-09-07) • Updated input 'gpu-screen-recorder-src': 'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=98f75b2' (2024-09-03) → 'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=3446f86' (2024-09-06) • Updated input 'gtk-theme-src': 'github:dracula/gtk/e59324a' (2024-08-31) → 'github:dracula/gtk/19e0dcb' (2024-09-07) • Updated input 'home-manager': 'github:nix-community/home-manager/471e3eb' (2024-09-01) → 'github:nix-community/home-manager/aaebdea' (2024-09-07) • Updated input 'hyprland': 'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=027140b&submodules=1' (2024-09-04) → 'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=312411f&submodules=1' (2024-09-07) • Updated input 'jellyfin-flake': 'github:matt1432/nixos-jellyfin/949818a' (2024-08-30) → 'github:matt1432/nixos-jellyfin/03d120f' (2024-09-08) • Updated input 'jovian': 'github:Jovian-Experiments/Jovian-NixOS/b13488a' (2024-09-01) → 'github:Jovian-Experiments/Jovian-NixOS/2d050e6' (2024-09-06) • Updated input 'nh': 'github:viperML/nh/5dd64eb' (2024-09-02) → 'github:viperML/nh/7650b37' (2024-09-07) • Updated input 'nix-gaming': 'github:fufexan/nix-gaming/76446e8' (2024-09-01) → 'github:fufexan/nix-gaming/ec0bcac' (2024-09-08) • Updated input 'nix-gaming/umu': 'git+https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix&ref=refs/heads/main&rev=dd3105e&submodules=1' (2024-08-20) → 'git+https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix&ref=refs/heads/main&rev=2d3c948&submodules=1' (2024-09-04) • Updated input 'nix-on-droid': 'github:nix-community/nix-on-droid/248cc08' (2024-07-22) → 'github:nix-community/nix-on-droid/5d88ff2' (2024-09-06) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/ad416d0' (2024-09-04) → 'github:NixOS/nixpkgs/574d1ea' (2024-09-06) • Updated input 'nixpkgs-wayland': 'github:nix-community/nixpkgs-wayland/52b72b1' (2024-09-02) → 'github:nix-community/nixpkgs-wayland/0483138' (2024-09-07) Docker Images: • freshrss/freshrss latest: sha256:7b1d8f14c3905469c4f20488e78082dc6ca8a50b61798cc38f669a63f897f6b5 → sha256:2edf78120d06de267864a9d4affbd8158f23e668cf569e273f7f6e755c73b0a5 • postgres 14: sha256:148b383bf37b569f1b44d72b3558979540e9f5f951789b0b0c6e827decbeef09 → sha256:1bd26d434ac67d210a42cf19fa0812efd22472e0494f9c6ffa654509f427608a • rssbridge/rss-bridge latest: sha256:ed96ae6fb5be49a7c14fc35de039d53f2b42d99034c49c4e28fe0810e3886445 → sha256:a869f33f22d10ce04b5efa40efe273f3454dee8113508f64bca18a85b1eff724 • nginx latest: sha256:1a2bb47140dd616774ffe05ea1ea8762e1f1f08e20a35632e1e6539376d44d60 → sha256:04ba374043ccd2fc5c593885c0eacddebabd5ca375f9323666f28dfd5a9710e3 • onlyoffice/documentserver latest: sha256:a69b1c43c6641e45789a6ebb7e84359ada749c8e2d4e83916d4e85945238f418 → sha256:b9e3c35eab182d3de822a53b109b0f27070f6eacea3b1388b9c50d1182f638f2 • postgres 15-alpine: sha256:fa484d844b88ac34811daf3da66af1fd17e34b0e1ff5d1b6f904269c85890dc0 → sha256:362404e4f27e4f477c6cd4a76c65f06d387b7fda2caf216e656b17bf00f9908f • ghcr.io/linuxserver/sonarr latest: sha256:879f5f35b05566f71296bad0f3704709103568a6b4f42f5959543f5322728723 → sha256:138998077a802c18b76c26636301fcd5517b7bfaf75db025d457199176078a12 • ghcr.io/immich-app/immich-machine-learning v1.114.0: sha256:f7964140e00bd615497d37040eb907a7cd87db6f06baea784d411cda572a29df → sha256:c0300d34fb275343c8e3b50796c9b10e6f33218e84c958386a218fbdceaeed65 • ghcr.io/immich-app/immich-server v1.114.0: sha256:9d1c9ab40f3171f1dc06d5c6bc32541ff4b0835c1d217ff5cc61c85e26d2452f → sha256:df4ae6d2bf8aa3ebd6370b42a667a007c5e7452a1cd2ab4c22fbaff9a69ffcbc
2024-09-07 22:04:53 -04:00
extraModules = [
./devices/homie
secrets.nixosModules.homie
];
};
2024-08-18 20:59:01 -04:00
# Cluster
thingone = mkNixOS {
extraModules = [
(import ./devices/cluster "thingone")
secrets.nixosModules.thingy
];
};
thingtwo = mkNixOS {
extraModules = [
(import ./devices/cluster "thingtwo")
secrets.nixosModules.thingy
];
};
live-image = mkNixOS {
extraModules = [
"${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix"
{
vars = {
mainUser = "nixos";
hostName = "nixos";
};
}
];
};
};
nixOnDroidConfigurations.default =
mkNixOnDroid [./devices/android];
legacyPackages =
perSystem (pkgs:
import ./legacyPackages {inherit mkVersion pkgs inputs;});
2024-06-10 22:57:20 -04:00
packages =
perSystem (pkgs:
import ./packages {inherit self pkgs mkVersion inputs;});
overlays = import ./overlays {};
apps =
perSystem (pkgs:
import ./apps {inherit inputs pkgs;});
devShells = perSystem (pkgs: {
default = pkgs.mkShell {
packages = [
(pkgs.writeShellScriptBin "mkIso" ''
isoConfig="nixosConfigurations.live-image.config.system.build.isoImage"
nom build $(realpath /etc/nixos)#$isoConfig
'')
];
};
node = pkgs.mkShell {
packages =
(builtins.attrValues {
inherit
(pkgs)
nodejs_latest
typescript
;
2024-08-06 20:35:11 -04:00
})
++ [
(pkgs.writeShellApplication {
name = "updateNpmDeps";
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
'';
})
];
};
subtitles-dev = pkgs.mkShell {
packages = builtins.attrValues {
inherit
(pkgs)
nodejs_latest
ffmpeg-full
typescript
;
inherit
(pkgs.nodePackages)
ts-node
;
};
};
});
# 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);
};
}