1 # This can be built with nixos-rebuild --flake .#myhost build
3 description = "the simplest flake for nixos-rebuild";
7 url = "github:NixOS/nixpkgs/nixos-22.11";
9 # inputs.emacs-overlay.url = "github:nix-community/emacs-overlay";
10 # inputs.coricamu.url = "github:danth/coricamu";
11 nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
12 simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-22.11";
14 url = "github:nix-community/home-manager/release-22.11";
15 inputs.nixpkgs.follows = "nixpkgs";
17 # alfis.url = "github:Revertron/Alfis";
19 url = "github:danth/stylix";
20 inputs.nixpkgs.follows = "nixpkgs";
23 url = "github:nix-community/nixos-generators";
24 inputs.nixpkgs.follows = "nixpkgs";
26 raspberry-pi-nix.url = "github:tstat/raspberry-pi-nix";
29 # Outputs can be anything, but the wiki + some commands define their own
30 # specific keys. Wiki page: https://nixos.wiki/wiki/Flakes#Output_schema
45 simple-nixos-mailserver,
49 system = "x86_64-linux";
50 overlay-unstable = final: prev: {
51 # unstable = nixpkgs-unstable.legacyPackages.${prev.system};
52 unstable = import nixpkgs-unstable {
54 config.allowUnfree = true;
58 overlays = import ./overlays/unstable.nix { inherit inputs; };
59 nixosConfigurations = {
60 powerbook = nixpkgs.lib.nixosSystem {
61 system = "x86_64-linux";
62 specialArgs = self.colmena.meta.specialArgs;
63 # Import our old system configuration.nix
64 modules = self.colmena.powerbook.imports;
66 marigold = nixpkgs.lib.nixosSystem {
67 system = "x86_64-linux";
68 specialArgs = self.colmena.meta.specialArgs;
69 # Import our old system configuration.nix
70 modules = self.colmena.marigold.imports;
73 packages."x86_64-linux" = {
74 marigold-install-iso = nixos-generators.nixosGenerate {
75 system = "x86_64-linux";
78 stylix.nixosModules.stylix
79 home-manager.nixosModules.home-manager
81 home-manager.useGlobalPkgs = true;
82 home-manager.useUserPackages = true;
83 home-manager.users.cw = import ./users/home.nix { user = "cw"; pkgs = nixpkgs.legacyPackages.x86_64-linux; };
86 format = "install-iso";
88 marigold-iso = nixos-generators.nixosGenerate {
89 system = "x86_64-linux";
90 pkgs = nixpkgs.legacyPackages.x86_64-linux;
93 stylix.nixosModules.stylix
94 home-manager.nixosModules.home-manager
96 home-manager.useGlobalPkgs = true;
97 home-manager.useUserPackages = true;
98 home-manager.users.cw = import ./users/home.nix { user = "cw"; pkgs = nixpkgs.legacyPackages.x86_64-linux; };
106 nixpkgs = import nixpkgs {
107 system = "x86_64-linux";
110 nodeNixpkgs.bike = import nixpkgs {
111 system = "aarch64-linux";
113 specialArgs = inputs;
117 ./WIP/hosts/marigold.nix
119 deployment.targetHost = "marigold.cw.ygg";
125 deployment.targetHost = "moto.cw.ygg";
129 ./WIP/hosts/powerbook.nix
130 ({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; })
131 home-manager.nixosModules.home-manager
134 allowLocalDeployment = true;
140 ./WIP/hosts/kernelpanic.nix
141 home-manager.nixosModules.home-manager
142 stylix.nixosModules.stylix
143 simple-nixos-mailserver.nixosModule
146 targetHost = "kernelpanic.cw.ygg";
148 "yggdrasil.conf.secret" = {
149 keyFile = "./secrets/yggdrasil-kernelpanic.conf";
150 uploadAt = "pre-activation";
157 ./WIP/hosts/telescreen.nix
158 home-manager.nixosModules.home-manager
159 stylix.nixosModules.stylix
162 targetHost = "telescreen.cw.ygg";