Files
frank-nix/flake.nix
T
floturcocantsee 92b0e2f2cf
ci / flake (push) Failing after 2m36s
flake: remove millenium
2026-10-29 19:02:48 -04:00

222 lines
5.5 KiB
Nix

{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
xivlauncher-rb = {
url = "github:dawei-nh/xivlauncher-rb-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
cheatengine = {
url = "github:Hy4ri/cheatengine-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
scopebuddy = {
url = "github:HikariKnight/ScopeBuddy";
inputs.nixpkgs.follows = "nixpkgs";
};
nixpkgs-xr = {
url = "github:nix-community/nixpkgs-xr";
inputs.nixpkgs.follows = "nixpkgs";
};
lazyvim = {
url = "github:pfassina/lazyvim-nix/v16.0.0";
inputs.nixpkgs.follows = "nixpkgs";
};
affinity-nix = {
url = "github:Meo98/affinity-nix-fork";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-flatpak = {
url = "github:gmodena/nix-flatpak/?ref=latest";
};
appimage-manager = {
url = "github:kem-a/AppManager";
inputs.nixpkgs.follows = "nixpkgs";
};
pi = {
url = "github:earendil-works/pi/stable";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-darwin = {
url = "github:nix-darwin/nix-darwin";
inputs.nixpkgs.follows = "nixpkgs";
};
affinity-thumbnailer-kde = {
url = "path:./packages/affinity-thumbnailer-kde";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
inputs@{
self,
nixpkgs,
nixpkgs-xr,
nix-darwin,
nix-flatpak,
home-manager,
affinity-nix,
sops-nix,
affinity-thumbnailer-kde,
cheatengine,
xivlauncher-rb,
...
}:
let
home-manager-configuration = { home-manager, ... }: {
home-manager = {
useGlobalPkgs = true;
extraSpecialArgs = { inherit inputs; };
users.frank = ./home/frank.nix;
};
};
trusted-users-configuration = { nix, config, ... }: {
nix.settings.trusted-users = [ config.users.users.frank.name ];
};
systems = [
"x86_64-linux"
"aarch64-darwin"
];
forAllSystems = nixpkgs.lib.genAttrs systems;
packagesFor =
system:
let
pkgs = nixpkgs.legacyPackages.${system};
in
nixpkgs.lib.optionalAttrs pkgs.stdenv.hostPlatform.isLinux {
heidisql = pkgs.callPackage ./packages/heidisql/package.nix { };
aseprite-thumbnailer-kde = pkgs.callPackage ./packages/aseprite-thumbnailer-kde/package.nix { };
};
formatterFor =
system:
let
pkgs = nixpkgs.legacyPackages.${system};
in
pkgs.writeShellApplication {
name = "nixfmt";
runtimeInputs = [ pkgs.nixfmt ];
text = ''
flags=()
paths=()
for arg in "$@"; do
case "$arg" in
-*) flags+=("$arg") ;;
*) paths+=("$arg") ;;
esac
done
if [ "''${#paths[@]}" -eq 0 ]; then
if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
mapfile -t paths < <(git ls-files '*.nix')
else
mapfile -t paths < <(find . -name '*.nix' -not -path './.devenv/*')
fi
fi
nixfmt "''${flags[@]}" "''${paths[@]}"
'';
};
in
{
packages = forAllSystems packagesFor;
formatter = forAllSystems formatterFor;
nixosConfigurations = {
nero = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [
home-manager.nixosModules.home-manager
home-manager-configuration
trusted-users-configuration
nixpkgs-xr.nixosModules.nixpkgs-xr
nix-flatpak.nixosModules.nix-flatpak
affinity-thumbnailer-kde.nixosModules.default
sops-nix.nixosModules.sops
./hosts/nero/hardware.nix
./hosts/nero/configuration.nix
];
};
vergil = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [
home-manager.nixosModules.home-manager
home-manager-configuration
trusted-users-configuration
sops-nix.nixosModules.sops
./hosts/vergil/hardware.nix
./hosts/vergil/configuration.nix
];
};
pdw-frankiel = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [
home-manager.nixosModules.home-manager
home-manager-configuration
trusted-users-configuration
nix-flatpak.nixosModules.nix-flatpak
affinity-thumbnailer-kde.nixosModules.default
sops-nix.nixosModules.sops
./hosts/pdw-frankiel/hardware.nix
./hosts/pdw-frankiel/configuration.nix
];
};
};
darwinConfigurations = {
franks-macbook-pro = nix-darwin.lib.darwinSystem {
specialArgs = {
inherit inputs;
inherit self;
};
modules = [
home-manager.darwinModules.home-manager
home-manager-configuration
sops-nix.darwinModules.sops
{
users.users.frank.home = "/Users/frank";
}
./hosts/franks-macbook-pro/configuration.nix
];
};
};
};
}