nix/flake.nix
2025-12-01 10:13:33 +01:00

110 lines
3 KiB
Nix

{
description = "Fredriks datorer";
inputs = {
# Nixpkgs
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
stylix = {
url = "github:nix-community/stylix";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
typsite = {
url = "github:Glomzzz/typsite";
inputs.nixpkgs.follows = "nixpkgs";
};
catppuccin.url = "github:catppuccin/nix";
confetti.url = "git+https://git.wastring.com/fw/confetti?ref=main";
bbk.url = "git+https://git.wastring.com/fw/bbk?ref=main";
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
hyprland.url = "github:hyprwm/Hyprland";
minimal-tmux = {
url = "github:niksingh710/minimal-tmux-status";
inputs.nixpkgs.follows = "nixpkgs";
};
nixvim = {
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
{
self,
nixpkgs,
home-manager,
stylix,
sops-nix,
catppuccin,
confetti,
bbk,
nixvim,
...
}@inputs:
let
inherit (self) outputs;
in
{
nixosConfigurations = {
legacy = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs outputs;
myhostname = "legacy";
};
modules = [
./maskiner/legacy/configuration.nix
stylix.nixosModules.stylix
home-manager.nixosModules.home-manager
sops-nix.nixosModules.sops
catppuccin.nixosModules.catppuccin
confetti.nixosModules.default
bbk.nixosModules.default
nixvim.nixosModules.default
];
};
node = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs outputs;
myhostname = "node";
};
modules = [
./maskiner/node/configuration.nix
sops-nix.nixosModules.sops
bbk.nixosModules.default
];
};
core = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs outputs;
myhostname = "core";
};
modules = [
./maskiner/core/configuration.nix
stylix.nixosModules.stylix
home-manager.nixosModules.home-manager
sops-nix.nixosModules.sops
catppuccin.nixosModules.catppuccin
confetti.nixosModules.default
bbk.nixosModules.default
nixvim.nixosModules.default
];
};
archive = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs outputs;
myhostname = "archive";
};
modules = [
./maskiner/archive/configuration.nix
bbk.nixosModules.default
];
};
};
};
}