matt1432
b06823ef6d
All checks were successful
Discord / discord commits (push) Has been skipped
Flake Inputs: • Updated input 'ags': 'github:Aylur/ags/12e0bfe' (2024-11-18) → 'github:Aylur/ags/8115996' (2024-11-22) • Updated input 'astal': 'github:Aylur/astal/920e7d2' (2024-11-18) → 'github:Aylur/astal/4b87bb6' (2024-11-22) • Updated input 'custom-sidebar-src': 'github:elchininet/custom-sidebar/67acfa8' (2024-11-18) → 'github:elchininet/custom-sidebar/0687caa' (2024-11-21) • Updated input 'discord-overlay': 'github:matt1432/discord-nightly-overlay/90d33e6' (2024-11-18) → 'github:matt1432/discord-nightly-overlay/d6310e9' (2024-11-20) • Updated input 'gpu-screen-recorder-src': 'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=6e0f541' (2024-11-18) → 'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=8644c72' (2024-11-22) • Updated input 'ha-fallback-conversation-src': 'github:m50/ha-fallback-conversation/523d91a' (2024-09-28) → 'github:m50/ha-fallback-conversation/0d1cb73' (2024-11-20) • Updated input 'home-manager': 'github:nix-community/home-manager/a46e702' (2024-11-19) → 'github:nix-community/home-manager/8cf9cb2' (2024-11-22) • Updated input 'hyprland': 'github:hyprwm/Hyprland/c4eda46' (2024-11-19) → 'github:hyprwm/Hyprland/745a82c' (2024-11-22) • Updated input 'hyprpaper': 'github:hyprwm/hyprpaper/3f8cc92' (2024-10-25) → 'github:hyprwm/hyprpaper/0b5e350' (2024-11-22) • Updated input 'hyprutils': 'github:hyprwm/hyprutils/e911361' (2024-11-15) → 'github:hyprwm/hyprutils/b26f33c' (2024-11-22) • Updated input 'nh': 'github:viperML/nh/8195c25' (2024-11-19) → 'github:viperML/nh/cff51af' (2024-11-20) • Updated input 'nix-gaming': 'github:fufexan/nix-gaming/d89390f' (2024-11-19) → 'github:fufexan/nix-gaming/969f571' (2024-11-23) • Updated input 'nixd': 'github:nix-community/nixd/0f3c0c7' (2024-11-15) → 'github:nix-community/nixd/6d80199' (2024-11-21) • Updated input 'nixpkgs-wayland': 'github:nix-community/nixpkgs-wayland/1e388ca' (2024-11-19) → 'github:nix-community/nixpkgs-wayland/df3091f' (2024-11-22) • Updated input 'pcsd': 'github:matt1432/nixos-pcsd/dbd3897' (2024-11-19) → 'github:matt1432/nixos-pcsd/97aeff2' (2024-11-23) • Updated input 'sops-nix': 'github:Mic92/sops-nix/e39947d' (2024-11-18) → 'github:Mic92/sops-nix/53c853f' (2024-11-21) • Updated input 'spotifyplus-src': 'github:thlucas1/homeassistantcomponent_spotifyplus/751b378' (2024-11-15) → 'github:thlucas1/homeassistantcomponent_spotifyplus/218dcb9' (2024-11-20) • Updated input 'spotifywebapi-src': 'github:thlucas1/SpotifyWebApiPython/cf7c41c' (2024-11-19) → 'github:thlucas1/SpotifyWebApiPython/f9cc96e' (2024-11-20) • Updated input 'tuya-local-src': 'github:make-all/tuya-local/6a9ef10' (2024-11-19) → 'github:make-all/tuya-local/58587bc' (2024-11-22) Docker Images: • vegardit/gitea-act-runner dind-latest: sha256:ee4962ccfb8e99e8541f59130ddfda5b82b5c4c82eba513f2ee03216c2d0dd85 → sha256:3c856bdd10f7f0035ef7812e774e64023af7b7d609c29e32177320e11039974f • postgres 14: sha256:823196c45d0cdbf70e5782e1b6cc116b3417211ce1884c373afff97abec7be2f → sha256:78b9deeca08fa9749a00e9d30bc879f8f8d021af854c73e2c339b752cb6d708a • nextcloud fpm: sha256:1462206286d1769c499e0f15f4998c9a518a330cacd4cf9c8206904f5dcfc131 → sha256:e8c17c1734e9e6a89989264aebae20bb9f05c16d16f33fa62875d9b83a7d244d • postgres 15-alpine: sha256:3b5f286a417dde5945504ef9156ff9436ffccf428048d7b52c1574c6fc752bb6 → sha256:5d4b2f57adc7739452b0be6cee25f263bfc64b609446bcdd8170354cf8ba8e80 • ghcr.io/linuxserver/sabnzbd latest: sha256:d9eda6d9bd651886631f01f3ebb1ff33f9f5d04f0fd95be8fb22bc1a779a3d84 → sha256:1bd04442a6cb35fc8f4a18c474ba93d6600026dcbd364d0577e63cc6cdebfd87 Firefox Addons: bitwarden: 2024.10.1 -> 2024.11.0
227 lines
5.3 KiB
Nix
227 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";
|
|
|
|
# FIXME: https://pr-tracker.nelim.org/?pr=357555
|
|
rev = "5e4fbfb6b3de1aa2872b76d49fafc942626e2add";
|
|
};
|
|
|
|
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;});
|
|
|
|
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
|
|
sudo nixos-rebuild --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);
|
|
};
|
|
}
|