nixos/flake.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

150 lines
3.7 KiB
Nix
Raw Normal View History

2024-02-27 03:43:43 +00:00
{
description = "Torjus nixos config flake";
inputs = {
2024-11-18 11:21:43 +00:00
nixpkgs-stable.url = "github:nixos/nixpkgs?ref=nixos-24.11";
2024-10-03 09:18:34 +00:00
#nixpkgs-master.url = "github:nixos/nixpkgs?ref=master";
2024-05-26 22:57:10 +00:00
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
2024-02-27 08:58:20 +00:00
home-manager = {
2024-05-26 23:00:41 +00:00
url = "github:nix-community/home-manager";
2024-02-27 08:58:20 +00:00
inputs.nixpkgs.follows = "nixpkgs";
};
2024-10-20 06:41:12 +00:00
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
2024-11-18 11:21:43 +00:00
#inputs.nixpkgs-stable.follows = "nixpkgs-stable";
2024-10-20 06:41:12 +00:00
};
2024-06-04 21:44:05 +00:00
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";
};
2024-07-25 21:04:43 +00:00
nix-packages = {
url = "git+https://git.t-juice.club/torjus/nix-packages?ref=master";
inputs.nixpkgs.follows = "nixpkgs";
};
2024-09-30 22:10:20 +00:00
nixprstatus = {
url = "git+https://git.t-juice.club/torjus/nixprstatus?ref=master";
inputs.nixpkgs.follows = "nixpkgs";
};
2024-02-27 03:43:43 +00:00
};
2024-03-09 22:19:38 +00:00
outputs =
{
self,
nixpkgs,
2024-10-03 09:18:34 +00:00
# nixpkgs-master,
2024-05-26 22:57:10 +00:00
nixpkgs-stable,
2024-09-30 22:10:20 +00:00
nixprstatus,
2024-03-09 22:19:38 +00:00
sops-nix,
ghettoptt,
2024-06-04 21:44:05 +00:00
huecli,
2024-07-25 21:04:43 +00:00
nix-packages,
2024-03-09 22:19:38 +00:00
...
}@inputs:
2024-02-27 08:47:30 +00:00
let
2024-02-27 03:43:43 +00:00
system = "x86_64-linux";
2024-02-27 08:47:30 +00:00
user = "torjus";
2024-05-26 22:57:10 +00:00
overlay-stable = final: prev: {
stable = import nixpkgs-stable {
2024-03-04 22:59:28 +00:00
inherit system;
config.allowUnfree = true;
};
};
2024-10-03 09:18:34 +00:00
# overlay-master = final: prev: {
# master = import nixpkgs-master {
# inherit system;
# config.allowUnfree = true;
# };
# };
2024-06-04 10:44:11 +00:00
allSystems = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
forAllSystems =
f: nixpkgs.lib.genAttrs allSystems (system: f { pkgs = import nixpkgs { inherit system; }; });
2024-09-30 22:10:20 +00:00
commonOverlays = [
overlay-stable
2024-10-03 09:18:34 +00:00
# overlay-master
2024-09-30 22:10:20 +00:00
ghettoptt.overlays.default
huecli.overlays.default
nix-packages.overlays.default
nixprstatus.overlays.default
];
2024-02-27 21:48:45 +00:00
in
{
2024-03-01 08:44:34 +00:00
nixosConfigurations = {
prismo = nixpkgs.lib.nixosSystem {
2024-03-04 22:59:28 +00:00
inherit system;
2024-03-01 08:44:34 +00:00
specialArgs = {
inherit inputs self user;
};
2024-10-02 20:58:18 +00:00
modules = [
(
{ config, pkgs, ... }:
{
nixpkgs.overlays = commonOverlays;
}
)
./hosts/prismo
sops-nix.nixosModules.sops
];
2024-03-01 08:44:34 +00:00
};
magicman = nixpkgs.lib.nixosSystem {
2024-03-04 22:59:28 +00:00
inherit system;
2024-03-01 08:44:34 +00:00
specialArgs = {
inherit inputs self user;
};
2024-04-18 18:24:29 +00:00
modules = [
(
{ config, pkgs, ... }:
{
2024-09-30 22:10:20 +00:00
nixpkgs.overlays = commonOverlays;
2024-04-18 18:24:29 +00:00
}
)
./hosts/magicman
sops-nix.nixosModules.sops
];
2024-03-01 08:44:34 +00:00
};
2024-03-01 09:00:40 +00:00
gunter = nixpkgs.lib.nixosSystem {
2024-03-04 22:59:28 +00:00
inherit system;
2024-03-06 19:17:04 +00:00
specialArgs = {
inherit
inputs
self
user
sops-nix
;
};
2024-03-04 22:59:28 +00:00
modules = [
2024-03-09 22:19:38 +00:00
(
{ config, pkgs, ... }:
{
2024-09-30 22:10:20 +00:00
nixpkgs.overlays = commonOverlays;
2024-03-09 22:19:38 +00:00
}
)
2024-03-04 22:59:28 +00:00
./hosts/gunter
2024-03-06 19:17:04 +00:00
sops-nix.nixosModules.sops
2024-03-04 22:59:28 +00:00
];
2024-03-01 09:00:40 +00:00
};
2024-02-27 08:47:30 +00:00
};
2024-06-04 10:44:11 +00:00
devShells = forAllSystems (
{ pkgs }:
{
2024-10-03 19:19:53 +00:00
default = pkgs.mkShell {
packages = with pkgs; [
act
actionlint
yamllint
];
};
2024-06-04 10:44:11 +00:00
}
);
2024-02-27 21:20:00 +00:00
};
2024-02-27 03:43:43 +00:00
}