forked from pub-solar/os
teutat3s
aabfc4a0dd
home: follow release-22.05 branch Fixes for upstream changes: ag renamed to silver-searcher, extfat-utils is now exfat, lot's of overrides no longer needed, as they're now in the release branch, services.caddy.config split up into globalConfig and extraConfig
180 lines
5.8 KiB
Nix
180 lines
5.8 KiB
Nix
{
|
|
description = "A highly structured configuration database.";
|
|
|
|
nixConfig.extra-experimental-features = "nix-command flakes";
|
|
nixConfig.extra-substituters = "https://nix-dram.cachix.org https://dram.cachix.org https://nrdxp.cachix.org https://nix-community.cachix.org";
|
|
nixConfig.extra-trusted-public-keys = "nix-dram.cachix.org-1:CKjZ0L1ZiqH3kzYAZRt8tg8vewAx5yj8Du/+iR8Efpg= dram.cachix.org-1:baoy1SXpwYdKbqdTbfKGTKauDDeDlHhUpC+QuuILEMY= nrdxp.cachix.org-1:Fc5PSqY2Jm1TrWfm88l6cvGWwz3s93c6IOifQWnhNW4= nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=";
|
|
|
|
inputs =
|
|
{
|
|
# Track channels with commits tested and built by hydra
|
|
nixos.url = "github:nixos/nixpkgs/nixos-22.05";
|
|
latest.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
master.url = "github:nixos/nixpkgs/master";
|
|
|
|
digga.url = "github:divnix/digga";
|
|
digga.inputs.nixpkgs.follows = "nixos";
|
|
digga.inputs.nixlib.follows = "nixos";
|
|
digga.inputs.home-manager.follows = "home";
|
|
digga.inputs.deploy.follows = "deploy";
|
|
|
|
bud.url = "github:divnix/bud";
|
|
bud.inputs.nixpkgs.follows = "nixos";
|
|
bud.inputs.devshell.follows = "digga/devshell";
|
|
|
|
home.url = "github:nix-community/home-manager/release-22.05";
|
|
home.inputs.nixpkgs.follows = "nixos";
|
|
|
|
darwin.url = "github:LnL7/nix-darwin";
|
|
darwin.inputs.nixpkgs.follows = "nixos";
|
|
|
|
deploy.url = "github:serokell/deploy-rs";
|
|
deploy.inputs.nixpkgs.follows = "nixos";
|
|
|
|
agenix.url = "github:ryantm/agenix";
|
|
agenix.inputs.nixpkgs.follows = "nixos";
|
|
|
|
nvfetcher.url = "github:berberman/nvfetcher";
|
|
nvfetcher.inputs.nixpkgs.follows = "nixos";
|
|
|
|
naersk.url = "github:nmattia/naersk";
|
|
naersk.inputs.nixpkgs.follows = "nixos";
|
|
|
|
nixos-hardware.url = "github:nixos/nixos-hardware";
|
|
|
|
nixos-generators.url = "github:nix-community/nixos-generators";
|
|
|
|
# PubSolarOS additions
|
|
nix-dram.url = "github:dramforever/nix-dram";
|
|
nix-dram.inputs.nixpkgs.follows = "latest";
|
|
|
|
tritonshell.url = "git+https://git.greenbaum.cloud/dev/tritonshell?ref=main&dir=template";
|
|
tritonshell.inputs.nixpkgs.follows = "latest";
|
|
|
|
nix-autobahn.url = "github:pub-solar/nix-autobahn/fix/clap-and-bump-dependencies";
|
|
nix-autobahn.inputs.nixpkgs.follows = "latest";
|
|
nix-autobahn.inputs.naersk.follows = "naersk";
|
|
};
|
|
|
|
outputs =
|
|
{ self
|
|
, digga
|
|
, bud
|
|
, nixos
|
|
, home
|
|
, nixos-hardware
|
|
, nur
|
|
, agenix
|
|
, nvfetcher
|
|
, deploy
|
|
, tritonshell
|
|
, nix-autobahn
|
|
, ...
|
|
} @ inputs:
|
|
digga.lib.mkFlake
|
|
{
|
|
inherit self inputs;
|
|
|
|
channelsConfig = { allowUnfree = true; };
|
|
|
|
supportedSystems = [ "x86_64-linux" "aarch64-linux" ];
|
|
|
|
channels = {
|
|
nixos = {
|
|
imports = [ (digga.lib.importOverlays ./overlays) ];
|
|
overlays = [
|
|
nur.overlay
|
|
agenix.overlay
|
|
nvfetcher.overlay
|
|
./pkgs/default.nix
|
|
];
|
|
};
|
|
latest = { };
|
|
master = { };
|
|
};
|
|
|
|
lib = import ./lib { lib = digga.lib // nixos.lib; };
|
|
|
|
sharedOverlays = [
|
|
(final: prev: {
|
|
__dontExport = true;
|
|
lib = prev.lib.extend (lfinal: lprev: {
|
|
our = self.lib;
|
|
});
|
|
})
|
|
];
|
|
|
|
nixos = {
|
|
hostDefaults = {
|
|
system = "x86_64-linux";
|
|
channelName = "nixos";
|
|
imports = [ (digga.lib.importExportableModules ./modules) ];
|
|
modules = [
|
|
{ lib.our = self.lib; }
|
|
digga.nixosModules.bootstrapIso
|
|
digga.nixosModules.nixConfig
|
|
home.nixosModules.home-manager
|
|
agenix.nixosModules.age
|
|
bud.nixosModules.bud
|
|
];
|
|
};
|
|
|
|
imports = [ (digga.lib.importHosts ./hosts) ];
|
|
hosts = {
|
|
/* set host specific properties here */
|
|
PubSolarOS = { };
|
|
fae = {
|
|
system = "aarch64-linux";
|
|
};
|
|
};
|
|
importables = rec {
|
|
profiles = digga.lib.rakeLeaves ./profiles // {
|
|
users = digga.lib.rakeLeaves ./users;
|
|
};
|
|
suites = with profiles; rec {
|
|
base = [ core users.pub-solar users.root ];
|
|
iso = base ++ [ base-user graphical pub-solar-iso ];
|
|
pubsolaros = [ core full-install base-user users.root ];
|
|
anonymous = [ pubsolaros users.pub-solar ];
|
|
teutat3s = pubsolaros ++ [ users.teutat3s ];
|
|
dumpyourvms = teutat3s ++ [ graphical ];
|
|
ryzensun = teutat3s ++ [ graphical ];
|
|
};
|
|
};
|
|
};
|
|
|
|
home = {
|
|
imports = [ (digga.lib.importExportableModules ./users/modules) ];
|
|
modules = [ ];
|
|
importables = rec {
|
|
profiles = digga.lib.rakeLeaves ./users/profiles;
|
|
suites = with profiles; rec {
|
|
base = [ direnv ];
|
|
};
|
|
};
|
|
users = {
|
|
pub-solar = { suites, ... }: { imports = suites.base; };
|
|
teutat3s = { suites, ... }: { imports = suites.base; };
|
|
}; # digga.lib.importers.rakeLeaves ./users/hm;
|
|
};
|
|
|
|
devshell = ./shell;
|
|
|
|
homeConfigurations = digga.lib.mkHomeConfigurations self.nixosConfigurations;
|
|
|
|
deploy.nodes = digga.lib.mkDeployNodes self.nixosConfigurations {
|
|
fae = {
|
|
hostname = "fae.fritz.box:22";
|
|
sshUser = "pub-solar";
|
|
fastConnect = true;
|
|
profilesOrder = [ "system" "direnv" ];
|
|
profiles.direnv = {
|
|
user = "pub-solar";
|
|
path = deploy.lib.x86_64-linux.activate.home-manager self.homeConfigurationsPortable.x86_64-linux.pub-solar;
|
|
};
|
|
};
|
|
};
|
|
}
|
|
;
|
|
}
|