2021-08-08 20:56:16 +02:00
|
|
|
{
|
|
|
|
description = "System configuration for panacea";
|
|
|
|
|
2021-11-24 23:42:09 +01:00
|
|
|
nixConfig = {
|
|
|
|
extra-substituters =
|
2021-12-07 10:53:24 +01:00
|
|
|
"https://cachix.cachix.org https://nix-community.cachix.org";
|
|
|
|
extra-trusted-public-keys = ''
|
|
|
|
cachix.cachix.org-1:eWNHQldwUO7G2VkjpnjDbWwy4KQ/HNxht7H4SSoMckM=
|
|
|
|
nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs='';
|
2021-11-24 23:42:09 +01:00
|
|
|
};
|
|
|
|
|
2021-08-08 20:56:16 +02:00
|
|
|
inputs = {
|
|
|
|
nixpkgs.url = "nixpkgs/nixos-unstable";
|
2024-01-05 21:31:08 +01:00
|
|
|
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
2022-07-12 14:54:19 +02:00
|
|
|
agenix = {
|
|
|
|
url = "github:ryantm/agenix";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2022-01-21 00:31:34 +01:00
|
|
|
openconnect-sso = {
|
2024-01-05 20:25:24 +01:00
|
|
|
url = "github:ThinkChaos/openconnect-sso/fix/nix-flake";
|
2023-09-03 01:39:26 +02:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
2022-01-21 00:31:34 +01:00
|
|
|
};
|
2022-01-29 13:28:28 +01:00
|
|
|
cyrus-sasl-xoauth2 = {
|
|
|
|
url = "github:robn/sasl2-oauth";
|
|
|
|
flake = false;
|
|
|
|
};
|
2023-02-11 15:18:44 +01:00
|
|
|
nix-index-database = {
|
|
|
|
url = "github:Mic92/nix-index-database";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2024-01-08 03:06:19 +01:00
|
|
|
lanzaboote = {
|
|
|
|
url = "github:nix-community/lanzaboote/v0.3.0";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-03-29 13:46:58 +02:00
|
|
|
local-bitwig = {
|
|
|
|
url = "path:/home/coolneng/Projects/panacea/assets/bitwig";
|
|
|
|
flake = false;
|
|
|
|
};
|
2021-08-08 20:56:16 +02:00
|
|
|
};
|
|
|
|
|
2024-01-08 03:06:19 +01:00
|
|
|
outputs = { self, nixpkgs, nixos-hardware, agenix, nix-index-database
|
|
|
|
, lanzaboote, ... }@inputs:
|
2021-08-08 20:56:16 +02:00
|
|
|
let
|
|
|
|
system = "x86_64-linux";
|
|
|
|
|
2023-09-03 01:39:26 +02:00
|
|
|
pkgs = import nixpkgs {
|
|
|
|
inherit system;
|
|
|
|
config.allowUnfree = true;
|
|
|
|
overlays = [
|
|
|
|
(final: prev: {
|
|
|
|
emacs-vterm =
|
|
|
|
((pkgs.emacsPackagesFor pkgs.emacs29-pgtk).emacsWithPackages
|
2023-09-11 21:50:37 +02:00
|
|
|
(epkgs: with epkgs; [ vterm mu4e ]));
|
2023-09-03 01:39:26 +02:00
|
|
|
})
|
|
|
|
];
|
|
|
|
};
|
2021-08-08 20:56:16 +02:00
|
|
|
|
|
|
|
lib = nixpkgs.lib;
|
|
|
|
|
2021-10-17 20:56:51 +02:00
|
|
|
in {
|
|
|
|
nixosConfigurations.panacea = lib.nixosSystem {
|
|
|
|
inherit system;
|
2023-02-11 15:18:44 +01:00
|
|
|
modules = [
|
|
|
|
(import ./configuration.nix)
|
2024-01-05 21:31:08 +01:00
|
|
|
nixos-hardware.nixosModules.lenovo-thinkpad-e14-amd
|
2023-02-11 15:18:44 +01:00
|
|
|
agenix.nixosModules.age
|
|
|
|
nix-index-database.nixosModules.nix-index
|
2024-01-08 03:06:19 +01:00
|
|
|
lanzaboote.nixosModules.lanzaboote
|
2023-02-11 15:18:44 +01:00
|
|
|
];
|
2023-09-03 01:39:26 +02:00
|
|
|
specialArgs = {
|
|
|
|
inherit inputs;
|
|
|
|
inherit pkgs;
|
|
|
|
};
|
2021-08-10 14:19:36 +02:00
|
|
|
};
|
2021-10-17 20:56:51 +02:00
|
|
|
|
|
|
|
};
|
2021-08-08 20:56:16 +02:00
|
|
|
}
|