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 = {
|
inputs = {
|
||||||
nixpkgs.url = "nixpkgs/nixos-23.11-small";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
|
||||||
nixpkgs-unstable.url = "nixpkgs/nixos-unstable-small";
|
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.url = "github:Mic92/sops-nix";
|
||||||
sops-nix.inputs.nixpkgs.follows = "nixpkgs";
|
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:
|
outputs = {
|
||||||
let
|
self
|
||||||
nixlib = nixpkgs.lib;
|
, home-manager
|
||||||
systems = [
|
, matrix-synapse-next
|
||||||
"x86_64-linux"
|
, nix-minecraft
|
||||||
"aarch64-linux"
|
, nixpkgs
|
||||||
];
|
, sops-nix
|
||||||
forAllSystems = f: nixlib.genAttrs systems (system: f system);
|
, unstable
|
||||||
allMachines = nixlib.mapAttrsToList (name: _: name) self.nixosConfigurations;
|
, ... }@inputs:
|
||||||
importantMachines = [
|
let
|
||||||
"aragon"
|
overlay-unstable = final: prev: {
|
||||||
"galadriel"
|
unstable = unstable.legacyPackages.${prev.system};
|
||||||
"elrond"
|
};
|
||||||
"georg"
|
in
|
||||||
];
|
{
|
||||||
in {
|
nixosConfigurations = {
|
||||||
nixosConfigurations = let
|
|
||||||
nixosConfig = nixpkgs: name: config: nixpkgs.lib.nixosSystem (nixpkgs.lib.recursiveUpdate
|
|
||||||
rec {
|
# 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";
|
system = "x86_64-linux";
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit nixpkgs-unstable inputs;
|
inherit inputs;
|
||||||
values = import ./values.nix;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
modules = [
|
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
|
sops-nix.nixosModules.sops
|
||||||
];
|
];
|
||||||
|
};
|
||||||
|
|
||||||
pkgs = import nixpkgs {
|
|
||||||
inherit system;
|
elrond = nixpkgs.lib.nixosSystem {
|
||||||
overlays = [
|
system = "x86_64-linux";
|
||||||
inputs.pvv-calendar-bot.overlays.${system}.default
|
specialArgs = {
|
||||||
];
|
inherit inputs;
|
||||||
};
|
};
|
||||||
}
|
modules = [
|
||||||
config
|
./machines/elrond/configuration.nix
|
||||||
);
|
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; })
|
||||||
|
sops-nix.nixosModules.sops
|
||||||
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
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#was bekkalokk
|
|
||||||
galadriel = stableNixosConfig "galadriel" { };
|
|
||||||
|
|
||||||
ildkule = stableNixosConfig "ildkule" { };
|
devShells.x86_64-linux = {
|
||||||
|
default = nixpkgs.legacyPackages.x86_64-linux.callPackage ./home/shell.nix { };
|
||||||
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
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
buskerud = stableNixosConfig "buskerud" {
|
devShells.aarch64-linux = {
|
||||||
modules = [
|
default = nixpkgs.legacyPackages.aarch64-linux.callPackage ./home/shell.nix { };
|
||||||
./hosts/buskerud/configuration.nix
|
|
||||||
sops-nix.nixosModules.sops
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
#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/stableDiffusion.nix
|
||||||
#../../services/freshrrs.nix
|
#../../services/freshrrs.nix
|
||||||
#../../services/torrent.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.hostName = "galadriel"; # Define your hostname.
|
||||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
|
@ -91,7 +100,7 @@
|
||||||
# List services that you want to enable:
|
# List services that you want to enable:
|
||||||
|
|
||||||
##productivity
|
##productivity
|
||||||
services.tandoor-recipes.enable = true;
|
#services.tandoor-recipes.enable = true;
|
||||||
|
|
||||||
##media
|
##media
|
||||||
users.groups.media.members = ["jellyfin"]; #have media directory owned by media group
|
users.groups.media.members = ["jellyfin"]; #have media directory owned by media group
|
||||||
|
@ -101,13 +110,13 @@
|
||||||
|
|
||||||
# services.komga.enable = true;
|
# services.komga.enable = true;
|
||||||
|
|
||||||
services.polaris.enable = true;
|
#services.polaris.enable = true;
|
||||||
services.navidrome.enable = true;
|
#services.navidrome.enable = true;
|
||||||
|
|
||||||
services.podgrab.enable = true;
|
#services.podgrab.enable = true;
|
||||||
services.podgrab.port = 4242;
|
#services.podgrab.port = 4242;
|
||||||
|
|
||||||
services.calibre-web.enable = true;
|
#services.calibre-web.enable = true;
|
||||||
#services.calibre-server.enable = true;
|
#services.calibre-server.enable = true;
|
||||||
|
|
||||||
##networking
|
##networking
|
||||||
|
@ -156,4 +165,19 @@
|
||||||
# "x-systemd.idle-timeout=600"
|
# "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