flake rework after felixalb
This commit is contained in:
parent
a976c3a1e1
commit
2d339caf57
285
flake.nix
285
flake.nix
|
@ -1,117 +1,216 @@
|
|||
{
|
||||
description = "stolen from PVV System flake, not currently implemented";
|
||||
description = "My System flake";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "nixpkgs/nixos-23.11-small";
|
||||
nixpkgs-unstable.url = "nixpkgs/nixos-unstable-small";
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
|
||||
unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
|
||||
nix-darwin.url = "github:lnl7/nix-darwin/master";
|
||||
nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
home-manager.url = "github:nix-community/home-manager/release-23.11";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
matrix-synapse-next.url = "github:dali99/nixos-matrix-modules";
|
||||
nix-minecraft.url = "github:Infinidoge/nix-minecraft";
|
||||
|
||||
# voyager-addons.url = "git+ssh://git@git.feal.no:2222/felixalb/voyager-addons.git";
|
||||
voyager-addons.url = "git+file:///home/felixalb/voyager-addons";
|
||||
|
||||
sops-nix.url = "github:Mic92/sops-nix";
|
||||
sops-nix.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
matrix-next.url = "github:dali99/nixos-matrix-modules";
|
||||
matrix-next.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
grzegorz.url = "github:Programvareverkstedet/grzegorz";
|
||||
grzegorz.inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||
grzegorz-clients.url = "github:Programvareverkstedet/grzegorz-clients";
|
||||
grzegorz-clients.inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, nixpkgs-unstable, sops-nix, disko, ... }@inputs:
|
||||
let
|
||||
nixlib = nixpkgs.lib;
|
||||
systems = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
];
|
||||
forAllSystems = f: nixlib.genAttrs systems (system: f system);
|
||||
allMachines = nixlib.mapAttrsToList (name: _: name) self.nixosConfigurations;
|
||||
importantMachines = [
|
||||
"aragon"
|
||||
"galadriel"
|
||||
"elrond"
|
||||
"georg"
|
||||
];
|
||||
in {
|
||||
nixosConfigurations = let
|
||||
nixosConfig = nixpkgs: name: config: nixpkgs.lib.nixosSystem (nixpkgs.lib.recursiveUpdate
|
||||
rec {
|
||||
outputs = {
|
||||
self
|
||||
, home-manager
|
||||
, matrix-synapse-next
|
||||
, nix-minecraft
|
||||
, nixpkgs
|
||||
, sops-nix
|
||||
, unstable
|
||||
, ... }@inputs:
|
||||
let
|
||||
overlay-unstable = final: prev: {
|
||||
unstable = unstable.legacyPackages.${prev.system};
|
||||
};
|
||||
in
|
||||
{
|
||||
nixosConfigurations = {
|
||||
|
||||
|
||||
# aragon = nixpkgs.lib.nixosSystem {
|
||||
# system = "x86_64-linux";
|
||||
# specialArgs = {
|
||||
# inherit inputs;
|
||||
# };
|
||||
# modules = [
|
||||
# # Overlays-module makes "pkgs.unstable" available in configuration.nix
|
||||
# ({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; })
|
||||
|
||||
# ./machines/aragon/configuration.nix
|
||||
# sops-nix.nixosModules.sops
|
||||
# home-manager.nixosModules.home-manager {
|
||||
# home-manager.useGlobalPkgs = true;
|
||||
# home-manager.useUserPackages = true;
|
||||
# home-manager.users."gunalx" = import ./home/home.nix;
|
||||
# }
|
||||
# ];
|
||||
# };
|
||||
|
||||
|
||||
|
||||
|
||||
galadriel = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit nixpkgs-unstable inputs;
|
||||
values = import ./values.nix;
|
||||
inherit inputs;
|
||||
};
|
||||
|
||||
modules = [
|
||||
./hosts/${name}/configuration.nix
|
||||
# Overlays-module makes "pkgs.unstable" available in configuration.nix
|
||||
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; })
|
||||
./machines/galadriel/configuration.nix
|
||||
sops-nix.nixosModules.sops
|
||||
];
|
||||
};
|
||||
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [
|
||||
inputs.pvv-calendar-bot.overlays.${system}.default
|
||||
];
|
||||
|
||||
elrond = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit inputs;
|
||||
};
|
||||
}
|
||||
config
|
||||
);
|
||||
|
||||
stableNixosConfig = nixosConfig nixpkgs;
|
||||
unstableNixosConfig = nixosConfig nixpkgs-unstable;
|
||||
in {
|
||||
bicep = stableNixosConfig "bicep" {
|
||||
modules = [
|
||||
./hosts/bicep/configuration.nix
|
||||
sops-nix.nixosModules.sops
|
||||
|
||||
inputs.matrix-next.nixosModules.default
|
||||
inputs.pvv-calendar-bot.nixosModules.default
|
||||
];
|
||||
modules = [
|
||||
./machines/elrond/configuration.nix
|
||||
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; })
|
||||
sops-nix.nixosModules.sops
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
#was bekkalokk
|
||||
galadriel = stableNixosConfig "galadriel" { };
|
||||
|
||||
ildkule = stableNixosConfig "ildkule" { };
|
||||
|
||||
shark = stableNixosConfig "shark" { };
|
||||
|
||||
georg = stableNixosConfig "georg" {
|
||||
modules = [
|
||||
./hosts/georg/configuration.nix
|
||||
sops-nix.nixosModules.sops
|
||||
|
||||
inputs.grzegorz.nixosModules.grzegorz-kiosk
|
||||
inputs.grzegorz-clients.nixosModules.grzegorz-webui
|
||||
];
|
||||
devShells.x86_64-linux = {
|
||||
default = nixpkgs.legacyPackages.x86_64-linux.callPackage ./home/shell.nix { };
|
||||
};
|
||||
|
||||
buskerud = stableNixosConfig "buskerud" {
|
||||
modules = [
|
||||
./hosts/buskerud/configuration.nix
|
||||
sops-nix.nixosModules.sops
|
||||
];
|
||||
devShells.aarch64-linux = {
|
||||
default = nixpkgs.legacyPackages.aarch64-linux.callPackage ./home/shell.nix { };
|
||||
};
|
||||
};
|
||||
|
||||
#devShells = forAllSystems (system: {
|
||||
# default = nixpkgs.legacyPackages.${system}.callPackage ./shell.nix { };
|
||||
#});
|
||||
|
||||
packages = {
|
||||
"x86_64-linux" = let
|
||||
pkgs = nixpkgs.legacyPackages."x86_64-linux";
|
||||
in rec {
|
||||
|
||||
default = important-machines;
|
||||
|
||||
important-machines = pkgs.linkFarm "important-machines"
|
||||
(nixlib.getAttrs importantMachines self.packages.x86_64-linux);
|
||||
all-machines = pkgs.linkFarm "all-machines"
|
||||
(nixlib.getAttrs allMachines self.packages.x86_64-linux);
|
||||
} // nixlib.genAttrs allMachines
|
||||
(machine: self.nixosConfigurations.${machine}.config.system.build.toplevel);
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
{ pkgs ? import <nixpkgs> {} }:
|
||||
pkgs.mkShell {
|
||||
nativeBuildInputs = with pkgs; [
|
||||
sops
|
||||
gnupg
|
||||
];
|
||||
}
|
||||
|
||||
|
|
@ -18,7 +18,16 @@
|
|||
../../services/stableDiffusion.nix
|
||||
#../../services/freshrrs.nix
|
||||
#../../services/torrent.nix
|
||||
];
|
||||
|
||||
];
|
||||
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
|
||||
networking.hostName = "galadriel"; # Define your hostname.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
|
@ -91,7 +100,7 @@
|
|||
# List services that you want to enable:
|
||||
|
||||
##productivity
|
||||
services.tandoor-recipes.enable = true;
|
||||
#services.tandoor-recipes.enable = true;
|
||||
|
||||
##media
|
||||
users.groups.media.members = ["jellyfin"]; #have media directory owned by media group
|
||||
|
@ -101,13 +110,13 @@
|
|||
|
||||
# services.komga.enable = true;
|
||||
|
||||
services.polaris.enable = true;
|
||||
services.navidrome.enable = true;
|
||||
#services.polaris.enable = true;
|
||||
#services.navidrome.enable = true;
|
||||
|
||||
services.podgrab.enable = true;
|
||||
services.podgrab.port = 4242;
|
||||
#services.podgrab.enable = true;
|
||||
#services.podgrab.port = 4242;
|
||||
|
||||
services.calibre-web.enable = true;
|
||||
#services.calibre-web.enable = true;
|
||||
#services.calibre-server.enable = true;
|
||||
|
||||
##networking
|
||||
|
@ -156,4 +165,19 @@
|
|||
# "x-systemd.idle-timeout=600"
|
||||
# ];
|
||||
# };
|
||||
|
||||
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "23.11"; # Did you read the comment?
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue