dotfiles/flake.nix

195 lines
6.2 KiB
Nix
Raw Normal View History

2025-10-01 19:51:55 -05:00
{
description = "Nick's Big Fat Flakey Sausage";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.05";
lix = {
url = "https://git.lix.systems/lix-project/lix/archive/main.tar.gz";
flake = false;
};
lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz";
inputs.nixpkgs.follows = "nixpkgs";
inputs.lix.follows = "lix";
};
flake-parts = {
url = "github:hercules-ci/flake-parts";
inputs.nixpkgs-lib.follows = "nixpkgs";
};
2025-11-04 03:30:52 -06:00
treefmt-nix = {
url = "github:numtide/treefmt-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
2025-10-01 19:51:55 -05:00
systems.url = "github:nix-systems/x86_64-linux";
2025-11-12 21:30:51 -06:00
impermanence.url = "github:nix-community/impermanence";
2025-10-01 19:51:55 -05:00
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
nur = {
url = "github:nix-community/NUR";
inputs.nixpkgs.follows = "nixpkgs";
};
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-10-05 19:53:42 -05:00
plasma-manager = {
url = "github:nix-community/plasma-manager";
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager";
};
2025-10-05 05:23:44 -05:00
niri = {
url = "github:sodiboo/niri-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
2025-10-01 19:51:55 -05: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";
};
wpaperd = {
url = "github:danyspin97/wpaperd";
inputs.nixpkgs.follows = "nixpkgs";
};
2025-10-11 16:59:05 -05:00
nixcord = {
url = "github:kaylorben/nixcord";
inputs.nixpkgs.follows = "nixpkgs";
};
2025-11-17 22:56:40 -06:00
tuios = {
url = "github:Gaurav-Gosain/tuios";
inputs.nixpkgs.follows = "nixpkgs";
};
2025-10-28 03:10:31 -05:00
microvm = {
url = "github:microvm-nix/microvm.nix";
inputs.nixpkgs.follows = "nixpkgs";
};
2025-11-12 04:43:11 -06:00
linkpage = {
url = "git+ssh://git@gitlab.com/uprootnutrition/linkpage.git";
};
2025-11-16 03:53:16 -06:00
filesorter = {
url = "git+ssh://git@gitlab.com/uprootnutrition/filesorter.git";
inputs.nixpkgs.follows = "nixpkgs";
};
2025-11-28 00:45:09 -06:00
mkElmDerivation = {
url = "github:jeslie0/mkElmDerivation";
2025-11-16 01:09:33 -06:00
inputs.nixpkgs.follows = "nixpkgs";
};
2025-10-01 19:51:55 -05:00
};
outputs =
inputs:
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
imports = [
inputs.pre-commit-hooks-nix.flakeModule
2025-11-04 03:30:52 -06:00
inputs.treefmt-nix.flakeModule
2025-10-01 19:51:55 -05:00
./lib
./modules
2025-11-28 00:45:09 -06:00
./packages
2025-10-01 19:51:55 -05:00
./parts
];
flake =
{ config, ... }:
{
nixosConfigurations = {
mars = inputs.self.lib.mkLinuxSystem [
./systems/mars
./profiles/user0
config.nixosModules.mars
config.nixosModules.core
config.nixosModules.mantle
config.nixosModules.crust
2025-10-05 05:23:44 -05:00
inputs.niri.nixosModules.niri
2025-10-01 19:51:55 -05:00
inputs.home-manager.nixosModules.home-manager
2025-12-02 03:31:42 -06:00
# inputs.lix-module.nixosModules.default
2025-10-01 19:51:55 -05:00
inputs.nur.modules.nixos.default
2025-11-11 22:56:46 -06:00
inputs.microvm.nixosModules.host
2025-10-01 19:51:55 -05:00
inputs.sops-nix.nixosModules.sops
];
deimos = inputs.self.lib.mkLinuxSystem [
./systems/deimos
./profiles/user0
config.nixosModules.deimos
config.nixosModules.core
config.nixosModules.mantle
config.nixosModules.crust
inputs.home-manager.nixosModules.home-manager
inputs.lix-module.nixosModules.default
inputs.nur.modules.nixos.default
inputs.sops-nix.nixosModules.sops
];
phobos = inputs.self.lib.mkLinuxSystem [
./systems/phobos
./profiles/user0
config.nixosModules.phobos
config.nixosModules.core
config.nixosModules.mantle
config.nixosModules.crust
inputs.home-manager.nixosModules.home-manager
inputs.lix-module.nixosModules.default
inputs.nur.modules.nixos.default
inputs.sops-nix.nixosModules.sops
];
ceres = inputs.self.lib.mkLinuxSystem [
./systems/ceres
./profiles/user0
config.nixosModules.ceres
config.nixosModules.core
config.nixosModules.mantle
inputs.home-manager.nixosModules.home-manager
2025-11-04 14:57:25 -06:00
inputs.impermanence.nixosModules.impermanence
2025-11-04 23:01:32 -06:00
# inputs.lix-module.nixosModules.default
2025-11-07 23:54:02 -06:00
inputs.microvm.nixosModules.host
2025-10-01 19:51:55 -05:00
inputs.sops-nix.nixosModules.sops
];
2025-10-24 18:20:56 -05:00
eris = inputs.self.lib.mkLinuxSystem [
./systems/eris
./profiles/user0
config.nixosModules.eris
config.nixosModules.core
config.nixosModules.mantle
inputs.home-manager.nixosModules.home-manager
inputs.lix-module.nixosModules.default
inputs.sops-nix.nixosModules.sops
];
2025-10-28 01:05:09 -05:00
iso = inputs.self.lib.mkLinuxSystem [
./profiles/user0
config.nixosModules.iso
config.nixosModules.core
inputs.home-manager.nixosModules.home-manager
inputs.lix-module.nixosModules.default
];
2025-10-01 19:51:55 -05:00
};
templates = {
haskell = {
path = ./templates/haskell;
description = "Haskell Environment";
};
typst = {
path = ./templates/typst;
description = "Typst Environment";
};
website = {
path = ./templates/website;
description = "Elm/Haskell Environment";
};
};
};
systems = import inputs.systems;
};
}