2024-10-06 15:25:05 -05:00
|
|
|
{
|
|
|
|
description = "Nick's Big Fat Flakey Sausage";
|
|
|
|
|
|
|
|
inputs = {
|
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
|
|
lix-module = {
|
2024-12-14 02:29:03 -06:00
|
|
|
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-2.tar.gz";
|
2024-10-06 15:25:05 -05:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
flake-parts = {
|
|
|
|
url = "github:hercules-ci/flake-parts";
|
|
|
|
inputs.nixpkgs-lib.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
home-manager = {
|
|
|
|
url = "github:nix-community/home-manager";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2024-12-28 03:19:37 -06:00
|
|
|
ghostty = {
|
|
|
|
url = "github:ghostty-org/ghostty";
|
|
|
|
};
|
2024-12-06 21:45:24 -06:00
|
|
|
# edgedb = {
|
|
|
|
# url = "github:edgedb/packages-nix";
|
|
|
|
# inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
# inputs.flake-parts.follows = "flake-parts";
|
|
|
|
# };
|
|
|
|
|
2024-12-14 02:29:03 -06:00
|
|
|
nur = {
|
|
|
|
url = "github:nix-community/NUR";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2024-10-06 15:25:05 -05:00
|
|
|
ngipkgs.url = "github:ngi-nix/ngipkgs";
|
|
|
|
pre-commit-hooks-nix = {
|
|
|
|
url = "github:cachix/pre-commit-hooks.nix";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
systems.url = "github:nix-systems/x86_64-linux";
|
|
|
|
sops-nix = {
|
|
|
|
url = "github:Mic92/sops-nix";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2024-12-28 03:19:37 -06:00
|
|
|
yazi.url = "github:sxyazi/yazi";
|
2024-10-06 15:25:05 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
outputs = inputs:
|
|
|
|
inputs.flake-parts.lib.mkFlake {inherit inputs;} {
|
|
|
|
imports = [
|
|
|
|
inputs.pre-commit-hooks-nix.flakeModule
|
2024-11-20 18:57:43 -06:00
|
|
|
./home
|
2024-10-06 15:25:05 -05:00
|
|
|
./lib
|
|
|
|
./nixos
|
|
|
|
./parts
|
|
|
|
./config
|
|
|
|
];
|
|
|
|
|
|
|
|
flake = {config, ...}: {
|
|
|
|
nixosConfigurations = {
|
2024-12-28 03:19:37 -06:00
|
|
|
desktop =
|
|
|
|
inputs.self.lib.mkLinuxSystem [
|
|
|
|
./systems/desktop
|
|
|
|
./profiles/user0
|
|
|
|
./profiles/user1
|
|
|
|
config.nixosModules.personal
|
|
|
|
config.nixosModules.desktop
|
|
|
|
config.nixosModules.shared
|
|
|
|
inputs.home-manager.nixosModules.home-manager
|
|
|
|
inputs.lix-module.nixosModules.default
|
|
|
|
inputs.nur.modules.nixos.default
|
|
|
|
inputs.sops-nix.nixosModules.sops
|
|
|
|
]
|
|
|
|
// {
|
|
|
|
systemPackages = [
|
|
|
|
# Add Ghostty package here
|
|
|
|
inputs.ghostty.packages.x86_64-linux.default
|
|
|
|
];
|
|
|
|
};
|
2024-10-06 15:25:05 -05:00
|
|
|
laptop = inputs.self.lib.mkLinuxSystem [
|
|
|
|
./systems/laptop
|
|
|
|
./profiles/user0
|
|
|
|
./profiles/user1
|
|
|
|
config.nixosModules.personal
|
|
|
|
config.nixosModules.shared
|
|
|
|
inputs.home-manager.nixosModules.home-manager
|
|
|
|
inputs.lix-module.nixosModules.default
|
2024-12-14 02:29:03 -06:00
|
|
|
inputs.nur.modules.nixos.default
|
2024-10-06 15:25:05 -05:00
|
|
|
inputs.sops-nix.nixosModules.sops
|
|
|
|
];
|
|
|
|
server = inputs.self.lib.mkLinuxSystem [
|
|
|
|
./systems/server
|
|
|
|
./profiles/user0
|
|
|
|
config.nixosModules.server
|
|
|
|
config.nixosModules.shared
|
|
|
|
inputs.home-manager.nixosModules.home-manager
|
|
|
|
inputs.lix-module.nixosModules.default
|
|
|
|
inputs.ngipkgs.nixosModules."services.peertube"
|
|
|
|
inputs.ngipkgs.nixosModules.default
|
|
|
|
inputs.sops-nix.nixosModules.sops
|
|
|
|
];
|
|
|
|
};
|
|
|
|
templates = {
|
2024-11-09 18:18:43 -06:00
|
|
|
elm = {
|
|
|
|
path = ./templates/elm;
|
|
|
|
description = "Elm Environment";
|
|
|
|
};
|
2024-10-06 15:25:05 -05:00
|
|
|
haskell = {
|
|
|
|
path = ./templates/haskell;
|
2024-11-09 18:18:43 -06:00
|
|
|
description = "Haskell Environment";
|
2024-10-06 15:25:05 -05:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
systems = import inputs.systems;
|
|
|
|
};
|
|
|
|
}
|