nixos/flake.nix
Torjus Håkestad aad01c1271
All checks were successful
Run nix flake check / flake-check (push) Successful in 4m42s
Add nixos-unstable-small to temporarily override pyside6
2024-11-20 15:36:48 +01:00

164 lines
4.1 KiB
Nix

{
description = "Torjus nixos config flake";
inputs = {
nixpkgs-stable.url = "github:nixos/nixpkgs?ref=nixos-24.11";
#nixpkgs-master.url = "github:nixos/nixpkgs?ref=master";
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
nixpkgs-small.url = "github:nixos/nixpkgs?ref=nixos-unstable-small";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
#inputs.nixpkgs-stable.follows = "nixpkgs-stable";
};
ghettoptt = {
url = "git+https://git.t-juice.club/torjus/ghettoptt?ref=master";
inputs.nixpkgs.follows = "nixpkgs";
};
huecli = {
url = "git+https://git.t-juice.club/torjus/huecli?ref=master";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-packages = {
url = "git+https://git.t-juice.club/torjus/nix-packages?ref=master";
inputs.nixpkgs.follows = "nixpkgs";
};
nixprstatus = {
url = "git+https://git.t-juice.club/torjus/nixprstatus?ref=master";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
{
self,
nixpkgs,
# nixpkgs-master,
nixpkgs-stable,
nixpkgs-small,
nixprstatus,
sops-nix,
ghettoptt,
huecli,
nix-packages,
...
}@inputs:
let
system = "x86_64-linux";
user = "torjus";
overlay-stable = final: prev: {
stable = import nixpkgs-stable {
inherit system;
config.allowUnfree = true;
};
};
overlay-pyside6 =
final: prev:
let
small = import nixpkgs-small {
inherit system;
config.allowUnfree = true;
};
in
{
python312Packages = small.lib.warn "Using python312Packages from nixos-unstable-small #" small.python312Packages;
};
# overlay-master = final: prev: {
# master = import nixpkgs-master {
# inherit system;
# config.allowUnfree = true;
# };
# };
allSystems = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
forAllSystems =
f: nixpkgs.lib.genAttrs allSystems (system: f { pkgs = import nixpkgs { inherit system; }; });
commonOverlays = [
overlay-stable
# overlay-master
overlay-pyside6
ghettoptt.overlays.default
huecli.overlays.default
nix-packages.overlays.default
nixprstatus.overlays.default
];
in
{
nixosConfigurations = {
prismo = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = {
inherit inputs self user;
};
modules = [
(
{ config, pkgs, ... }:
{
nixpkgs.overlays = commonOverlays;
}
)
./hosts/prismo
sops-nix.nixosModules.sops
];
};
magicman = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = {
inherit inputs self user;
};
modules = [
(
{ config, pkgs, ... }:
{
nixpkgs.overlays = commonOverlays;
}
)
./hosts/magicman
sops-nix.nixosModules.sops
];
};
gunter = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = {
inherit
inputs
self
user
sops-nix
;
};
modules = [
(
{ config, pkgs, ... }:
{
nixpkgs.overlays = commonOverlays;
}
)
./hosts/gunter
sops-nix.nixosModules.sops
];
};
};
devShells = forAllSystems (
{ pkgs }:
{
default = pkgs.mkShell {
packages = with pkgs; [
act
actionlint
yamllint
];
};
}
);
};
}