dotfiles/flake.nix

148 lines
4.6 KiB
Nix
Raw Normal View History

2024-10-06 15:25:05 -05:00
{
description = "Nick's Big Fat Flakey Sausage";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
2025-02-07 16:02:55 -06:00
2024-10-06 15:25:05 -05:00
lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0.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";
};
2025-02-03 00:02:52 -06:00
systems.url = "github:nix-systems/x86_64-linux";
2024-10-06 15:25:05 -05:00
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
2025-02-03 00:02:52 -06:00
ngipkgs.url = "github:ngi-nix/ngipkgs";
2025-01-18 03:50:54 -06:00
ghostty = {
url = "github:ghostty-org/ghostty";
};
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
pre-commit-hooks-nix = {
url = "github:cachix/pre-commit-hooks.nix";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
2025-01-09 02:09:02 -06:00
yazi.url = "github:sxyazi/yazi";
helix = {
url = "github:helix-editor/helix";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-cosmic.url = "github:lilyinstarlight/nixos-cosmic";
2025-02-04 14:08:13 -06:00
hyprland = {
url = "github:hyprwm/Hyprland";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland-portal = {
url = "github:hyprwm/xdg-desktop-portal-hyprland";
inputs.nixpkgs.follows = "nixpkgs";
};
waybar = {
url = "github:Alexays/Waybar";
inputs.nixpkgs.follows = "nixpkgs";
};
2025-02-04 14:08:13 -06:00
zed-editor = {
url = "github:zed-industries/zed";
inputs.nixpkgs.follows = "nixpkgs";
};
2024-10-06 15:25:05 -05:00
};
2025-01-18 03:50:54 -06:00
outputs =
inputs:
2025-01-16 16:14:09 -06:00
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
2024-10-06 15:25:05 -05:00
imports = [
2025-01-16 16:14:09 -06:00
inputs.pre-commit-hooks-nix.flakeModule
2024-10-06 15:25:05 -05:00
./lib
./modules
2024-10-06 15:25:05 -05:00
./parts
];
2025-01-18 03:50:54 -06:00
flake =
{ config, ... }:
{
nixosConfigurations = {
2025-03-01 15:58:02 -06:00
mars = inputs.self.lib.mkLinuxSystem [
./systems/mars
2025-01-18 03:50:54 -06:00
./profiles/user0
./profiles/user1
2025-03-01 15:58:02 -06:00
config.nixosModules.mars
2025-02-05 20:15:36 -06:00
config.nixosModules.core
config.nixosModules.mantle
config.nixosModules.crust
inputs.nixos-cosmic.nixosModules.default
2025-01-18 03:50:54 -06:00
inputs.home-manager.nixosModules.home-manager
inputs.lix-module.nixosModules.default
inputs.nur.modules.nixos.default
inputs.sops-nix.nixosModules.sops
];
2025-03-01 15:58:02 -06:00
venus = inputs.self.lib.mkLinuxSystem [
./systems/venus
./profiles/user2
2025-03-01 15:58:02 -06:00
config.nixosModules.venus
2025-02-05 20:15:36 -06:00
config.nixosModules.core
config.nixosModules.mantle
config.nixosModules.crust
inputs.home-manager.nixosModules.home-manager
inputs.lix-module.nixosModules.default
inputs.sops-nix.nixosModules.sops
2025-01-18 03:50:54 -06:00
];
2025-03-01 15:58:02 -06:00
deimos = inputs.self.lib.mkLinuxSystem [
./systems/deimos
2025-01-18 03:50:54 -06:00
./profiles/user0
./profiles/user1
2025-03-01 15:58:02 -06:00
config.nixosModules.deimos
2025-02-05 20:15:36 -06:00
config.nixosModules.core
config.nixosModules.mantle
config.nixosModules.crust
2025-01-18 03:50:54 -06:00
inputs.home-manager.nixosModules.home-manager
inputs.lix-module.nixosModules.default
inputs.nur.modules.nixos.default
inputs.sops-nix.nixosModules.sops
];
2025-03-01 15:58:02 -06:00
charon = inputs.self.lib.mkLinuxSystem [
./systems/charon
2025-01-31 01:49:36 -06:00
./profiles/user1
2025-03-01 15:58:02 -06:00
config.nixosModules.charon
2025-02-05 20:15:36 -06:00
config.nixosModules.core
config.nixosModules.crust
2025-01-31 01:49:36 -06:00
inputs.home-manager.nixosModules.home-manager
inputs.lix-module.nixosModules.default
];
ceres = inputs.self.lib.mkLinuxSystem [
./systems/ceres
2025-01-18 03:50:54 -06:00
./profiles/user0
config.nixosModules.ceres
2025-02-05 20:15:36 -06:00
config.nixosModules.core
config.nixosModules.mantle
2025-01-18 03:50:54 -06:00
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
];
2024-11-09 18:18:43 -06:00
};
2025-01-18 03:50:54 -06:00
templates = {
elm = {
path = ./templates/elm;
description = "Elm Environment";
};
haskell = {
path = ./templates/haskell;
description = "Haskell Environment";
};
2024-10-06 15:25:05 -05:00
};
};
systems = import inputs.systems;
};
}