nixos/flake.nix

79 lines
2.2 KiB
Nix

{
description = "Torjus nixos config flake";
inputs = {
# nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
nixpkgs-stable.url = "github:nixos/nixpkgs?ref=nixos-23.11";
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
# hyprland = {
# url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
# inputs.nixpkgs.follows = "nixpkgs";
# };
sops-nix.url = "github:Mic92/sops-nix";
notlistener.url = "git+https://git.t-juice.club/torjus/notlistener?ref=master";
ghettoptt.url = "git+https://git.t-juice.club/torjus/ghettoptt?ref=master";
};
outputs =
{ self
, nixpkgs
, nixpkgs-stable
, sops-nix
, notlistener
, ghettoptt
, ...
}@inputs:
let
system = "x86_64-linux";
user = "torjus";
overlay-stable = final: prev: {
stable = import nixpkgs-stable {
inherit system;
config.allowUnfree = true;
};
};
in
{
nixosConfigurations = {
prismo = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = { inherit inputs self user; };
modules = [ ./hosts/prismo ];
};
magicman = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = { inherit inputs self user; };
modules = [
({ config, pkgs, ... }: {
nixpkgs.overlays = [
overlay-stable
ghettoptt.overlays.default
];
})
./hosts/magicman
sops-nix.nixosModules.sops
];
};
gunter = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = { inherit inputs self user sops-nix; };
modules = [
({ config, pkgs, ... }: {
nixpkgs.overlays = [
overlay-stable
notlistener.overlays.default
ghettoptt.overlays.default
];
})
./hosts/gunter
sops-nix.nixosModules.sops
];
};
};
};
}