2022-12-18 17:01:34 +01:00
|
|
|
{
|
2023-05-01 21:05:49 +02:00
|
|
|
description = "My nix setup";
|
|
|
|
inputs = {
|
2023-01-22 14:09:16 +01:00
|
|
|
|
2023-05-18 12:49:06 +02:00
|
|
|
nixpkgs.url = "nixpkgs/nixos-unstable";
|
2023-05-01 12:30:21 +02:00
|
|
|
|
2023-03-15 16:43:43 +01:00
|
|
|
nix-index-database = {
|
2023-09-24 21:32:28 +02:00
|
|
|
url = "github:nix-community/nix-index-database";
|
2023-03-15 16:43:43 +01:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-03-05 10:48:43 +01:00
|
|
|
sops-nix = {
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
|
2023-05-20 13:20:05 +02:00
|
|
|
impermanence.url = "github:nix-community/impermanence";
|
|
|
|
|
2023-06-12 12:58:21 +02:00
|
|
|
deploy-rs = {
|
|
|
|
url = "github:serokell/deploy-rs";
|
|
|
|
inputs = {
|
|
|
|
nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2023-05-05 16:17:31 +02:00
|
|
|
home-manager = {
|
|
|
|
inputs = {
|
|
|
|
nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-03-05 10:48:43 +01:00
|
|
|
};
|
|
|
|
|
2023-05-05 16:17:31 +02:00
|
|
|
nix-colors.url = "github:Misterio77/nix-colors";
|
|
|
|
|
2023-04-13 14:24:39 +02:00
|
|
|
purge = {
|
2023-04-22 14:15:53 +02:00
|
|
|
url = "github:therealr5/purge";
|
2023-04-13 14:24:39 +02:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-05-29 13:31:20 +02:00
|
|
|
trucksimulatorbot = {
|
|
|
|
url = "github:therealr5/TruckSimulatorBot";
|
2023-04-16 16:56:24 +02:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-09-12 11:09:32 +02:00
|
|
|
pfersel = {
|
|
|
|
url = "github:therealr5/pfersel";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-05-24 15:51:58 +02:00
|
|
|
|
2023-05-31 13:23:49 +02:00
|
|
|
lanzaboote = {
|
2023-06-23 10:44:24 +02:00
|
|
|
url = "github:nix-community/lanzaboote/v0.3.0";
|
2023-05-31 13:23:49 +02:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
|
2022-12-18 17:01:34 +01:00
|
|
|
};
|
2023-03-05 10:48:43 +01:00
|
|
|
|
|
|
|
outputs =
|
2023-05-01 21:05:49 +02:00
|
|
|
{ self
|
2023-05-01 19:59:25 +02:00
|
|
|
, nixpkgs
|
2023-03-05 10:48:43 +01:00
|
|
|
, home-manager
|
2023-03-15 16:43:43 +01:00
|
|
|
, nix-index-database
|
2023-03-05 10:48:43 +01:00
|
|
|
, sops-nix
|
2023-05-20 13:20:05 +02:00
|
|
|
, impermanence
|
2023-06-12 12:58:21 +02:00
|
|
|
, deploy-rs
|
2023-03-05 10:48:43 +01:00
|
|
|
, nix-colors
|
|
|
|
, nixos-hardware
|
2023-05-31 13:23:49 +02:00
|
|
|
, lanzaboote
|
2023-04-13 14:24:39 +02:00
|
|
|
, purge
|
2023-05-29 13:31:20 +02:00
|
|
|
, trucksimulatorbot
|
2023-09-12 11:09:32 +02:00
|
|
|
, pfersel
|
2023-08-12 18:34:29 +02:00
|
|
|
, helix
|
2023-03-05 10:48:43 +01:00
|
|
|
, ...
|
|
|
|
}@attrs: {
|
2023-06-03 21:42:12 +02:00
|
|
|
packages.x86_64-linux = {
|
|
|
|
iso = self.nixosConfigurations.iso.config.system.build.isoImage;
|
|
|
|
jmri = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/jmri { };
|
|
|
|
adguardian-term = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/adguardian-term { };
|
|
|
|
pww = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/pww { };
|
2023-07-27 23:25:08 +02:00
|
|
|
gnome-break-timer = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/gnome-break-timer { };
|
2023-09-24 21:32:28 +02:00
|
|
|
hashcash-milter = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/hashcash-milter { };
|
2023-06-03 21:42:12 +02:00
|
|
|
};
|
2023-05-06 22:22:05 +02:00
|
|
|
hydraJobs = self.packages;
|
2023-03-05 10:48:43 +01:00
|
|
|
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixpkgs-fmt;
|
2023-06-22 14:34:05 +02:00
|
|
|
|
|
|
|
overlays.default = import ./overlays;
|
2023-05-22 11:14:56 +02:00
|
|
|
nixosConfigurations = {
|
2023-03-05 10:48:43 +01:00
|
|
|
thinkpad = nixpkgs.lib.nixosSystem {
|
|
|
|
system = "x86_64-linux";
|
2023-04-06 22:31:45 +02:00
|
|
|
specialArgs = attrs;
|
2023-03-05 10:48:43 +01:00
|
|
|
modules = [
|
|
|
|
./hosts/thinkpad
|
2023-04-06 22:31:45 +02:00
|
|
|
./shared
|
2023-03-05 10:48:43 +01:00
|
|
|
./users/rouven
|
|
|
|
nixos-hardware.nixosModules.common-pc-laptop-ssd
|
|
|
|
home-manager.nixosModules.home-manager
|
|
|
|
sops-nix.nixosModules.sops
|
2023-04-21 20:03:23 +02:00
|
|
|
nix-index-database.nixosModules.nix-index
|
2023-05-20 13:20:05 +02:00
|
|
|
impermanence.nixosModules.impermanence
|
2023-05-31 13:23:49 +02:00
|
|
|
lanzaboote.nixosModules.lanzaboote
|
2023-03-05 10:48:43 +01:00
|
|
|
{
|
2023-06-22 14:34:05 +02:00
|
|
|
nixpkgs.overlays = [ self.overlays.default ];
|
2023-03-05 10:48:43 +01:00
|
|
|
home-manager.extraSpecialArgs = attrs;
|
|
|
|
home-manager.users.rouven = {
|
|
|
|
imports = [
|
|
|
|
nix-colors.homeManagerModules.default
|
|
|
|
sops-nix.homeManagerModules.sops
|
|
|
|
];
|
|
|
|
};
|
|
|
|
}
|
|
|
|
];
|
|
|
|
};
|
|
|
|
nuc = nixpkgs.lib.nixosSystem {
|
|
|
|
system = "x86_64-linux";
|
2023-08-12 18:34:29 +02:00
|
|
|
specialArgs = attrs;
|
2023-03-05 10:48:43 +01:00
|
|
|
modules = [
|
2023-08-19 14:12:51 +02:00
|
|
|
nixos-hardware.nixosModules.common-pc-ssd
|
2023-04-14 11:38:08 +02:00
|
|
|
nix-index-database.nixosModules.nix-index
|
2023-05-30 20:36:52 +02:00
|
|
|
impermanence.nixosModules.impermanence
|
2023-03-05 10:48:43 +01:00
|
|
|
./hosts/nuc
|
2023-04-06 22:31:45 +02:00
|
|
|
./shared
|
2023-03-05 10:48:43 +01:00
|
|
|
sops-nix.nixosModules.sops
|
|
|
|
];
|
|
|
|
};
|
2023-04-12 17:21:24 +02:00
|
|
|
falkenstein-1 = nixpkgs.lib.nixosSystem {
|
|
|
|
system = "x86_64-linux";
|
2023-08-12 18:34:29 +02:00
|
|
|
specialArgs = attrs;
|
2023-04-12 17:21:24 +02:00
|
|
|
modules = [
|
|
|
|
./hosts/falkenstein-1
|
|
|
|
./shared
|
2023-07-20 21:35:12 +02:00
|
|
|
{
|
|
|
|
nixpkgs.overlays = [ self.overlays.default ];
|
|
|
|
}
|
2023-04-14 11:38:08 +02:00
|
|
|
nix-index-database.nixosModules.nix-index
|
2023-04-12 17:21:24 +02:00
|
|
|
sops-nix.nixosModules.sops
|
2023-04-13 14:24:39 +02:00
|
|
|
purge.nixosModules.default
|
2023-05-29 13:31:20 +02:00
|
|
|
trucksimulatorbot.nixosModules.default
|
2023-09-12 11:09:32 +02:00
|
|
|
pfersel.nixosModules.default
|
2023-04-12 17:21:24 +02:00
|
|
|
];
|
|
|
|
};
|
2023-05-01 12:30:21 +02:00
|
|
|
vm = nixpkgs.lib.nixosSystem {
|
|
|
|
system = "x86_64-linux";
|
2023-08-12 18:34:29 +02:00
|
|
|
specialArgs = attrs;
|
2023-05-01 12:30:21 +02:00
|
|
|
modules = [
|
|
|
|
./hosts/vm
|
|
|
|
./shared
|
2023-05-08 13:12:31 +02:00
|
|
|
nix-index-database.nixosModules.nix-index
|
2023-05-01 12:30:21 +02:00
|
|
|
sops-nix.nixosModules.sops
|
|
|
|
];
|
|
|
|
};
|
2023-05-01 19:59:25 +02:00
|
|
|
iso = nixpkgs.lib.nixosSystem {
|
|
|
|
system = "x86_64-linux";
|
|
|
|
specialArgs.inputs = attrs;
|
|
|
|
modules = [
|
|
|
|
./hosts/iso
|
|
|
|
./shared/vim.nix
|
2023-05-26 00:01:59 +02:00
|
|
|
./shared/tmux.nix
|
2023-05-01 19:59:25 +02:00
|
|
|
];
|
|
|
|
};
|
2023-03-05 10:48:43 +01:00
|
|
|
};
|
2023-06-12 12:58:21 +02:00
|
|
|
deploy.nodes = {
|
|
|
|
nuc = {
|
|
|
|
hostname = "nuc";
|
|
|
|
profiles.system = {
|
|
|
|
sshUser = "root";
|
|
|
|
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.nuc;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
falkenstein-1 = {
|
|
|
|
hostname = "falkenstein-1";
|
|
|
|
profiles.system = {
|
|
|
|
sshUser = "root";
|
|
|
|
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.falkenstein-1;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-06-15 21:01:17 +02:00
|
|
|
checks = builtins.mapAttrs (_system: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib;
|
2023-03-05 10:48:43 +01:00
|
|
|
};
|
2022-12-18 17:01:34 +01:00
|
|
|
}
|