Start from scratch

This commit is contained in:
Christoph Hollizeck 2025-10-26 22:40:37 +01:00
parent f15630dfb1
commit fe6de112e6
Signed by: Daholli
GPG key ID: 249300664F2AF2C7
111 changed files with 428 additions and 6886 deletions

102
flake.nix
View file

@ -1,17 +1,25 @@
{
description = "NixOs Config";
description = "All encompassing flake";
nixConfig = {
allow-import-from-derivation = true;
};
outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } (inputs.import-tree ./modules);
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
systems.url = "github:nix-systems/default-linux";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-master.url = "github:nixos/nixpkgs/master";
flake-parts.url = "github:hercules-ci/flake-parts";
import-tree.url = "github:vic/import-tree";
nixpkgs-latest-factorio.url = "github:Daholli/nixpkgs/e880129391be2f558d6c205cfd931be338b3b707";
nixpkgs-tuya-vacuum.url = "github:Daholli/nixpkgs/84b34e39e7a0879367189f34401191f6a0364bcf";
home-manager = {
url = "github:nix-community/home-manager/master";
# url = "github:nix-community/home-manager/release-24.05";
inputs.nixpkgs.follows = "nixpkgs";
};
@ -53,10 +61,21 @@
};
###
# Snowfall dependencies
snowfall-lib = {
url = "github:snowfallorg/lib";
inputs.nixpkgs.follows = "nixpkgs";
# Niri
niri = {
url = "github:YaLTeR/niri";
inputs = {
nixpkgs.follows = "nixpkgs";
rust-overlay.follows = "";
};
};
niri-flake = {
url = "github:sodiboo/niri-flake";
inputs = {
niri-stable.follows = "niri";
nixpkgs.follows = "nixpkgs";
};
};
helix = {
@ -75,11 +94,6 @@
## temporary
zen-browser.url = "github:0xc000022070/zen-browser-flake";
raspberry-pi-nix = {
url = "github:JamieMagee/raspberry-pi-nix/25118248489e047a7da43a21409b457aa2af315e";
inputs.nixpkgs.follows = "nixpkgs";
};
simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
catppuccin.url = "github:catppuccin/nix";
@ -118,68 +132,4 @@
};
};
outputs =
inputs:
let
lib = inputs.snowfall-lib.mkLib {
inherit inputs;
src = ./.;
snowfall = {
meta = {
name = "wyrdgard";
title = "Wyrdgard";
};
namespace = "wyrdgard";
};
};
in
lib.mkFlake {
channels-config = {
allowUnfree = true;
};
outputs-builder = channels: { formatter = channels.nixpkgs.nixfmt-rfc-style; };
overlays = with inputs; [
devenv.overlays.default
];
homes.modules = with inputs; [
sops-nix.homeManagerModules.sops
catppuccin.homeModules.catppuccin
];
systems.modules.nixos = with inputs; [
home-manager.nixosModules.home-manager
nix-ld.nixosModules.nix-ld
sops-nix.nixosModules.sops
catppuccin.nixosModules.catppuccin
];
systems.hosts.nixberry.modules = with inputs; [
raspberry-pi-nix.nixosModules.raspberry-pi
raspberry-pi-nix.nixosModules.sd-image
];
systems.hosts.loptland.modules = with inputs; [
simple-nixos-mailserver.nixosModules.default
];
systems.hosts.wsl.modules = with inputs; [ nixos-wsl.nixosModules.default ];
}
// rec {
self = inputs.self;
hydraJobs = {
# hosts = lib.mapAttrs (_: cfg: cfg.config.system.build.toplevel) (
# lib.filterAttrs (name: cfg: name != "nixberry") self.outputs.nixosConfigurations
# );
hosts = lib.mapAttrs (_: cfg: cfg.config.system.build.toplevel) self.outputs.nixosConfigurations;
packages = self.packages;
shells = lib.filterAttrs (name: shell: name == "x86_64-linux") self.devShells;
};
};
}