cleanup
This commit is contained in:
348
flake.nix
348
flake.nix
@@ -2,111 +2,211 @@
|
||||
description = "flake for matt-nixos";
|
||||
|
||||
inputs = {
|
||||
|
||||
#####################################################
|
||||
# Desktop #
|
||||
#####################################################
|
||||
|
||||
# nixpgs
|
||||
nixpkgs-unstable = {
|
||||
desktop-nixpkgs = {
|
||||
url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
};
|
||||
|
||||
# nixpkgs-unstable-small
|
||||
nixpkgs-unstable-small = {
|
||||
url = "github:NixOS/nixpkgs/nixos-unstable-small";
|
||||
};
|
||||
|
||||
# nixpgs
|
||||
nixpkgs-stable = {
|
||||
url = "github:NixOS/nixpkgs/nixos-24.11";
|
||||
};
|
||||
|
||||
# Authentik
|
||||
authentik-nix = {
|
||||
url = "github:nix-community/authentik-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs-stable";
|
||||
};
|
||||
|
||||
# Chaotic-nix
|
||||
chaotic = {
|
||||
desktop-chaotic = {
|
||||
url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
|
||||
};
|
||||
|
||||
# Impermenance
|
||||
impermanence = {
|
||||
url = "github:nix-community/impermanence";
|
||||
# cosmic launcher
|
||||
desktop-cosmic = {
|
||||
url = "github:lilyinstarlight/nixos-cosmic";
|
||||
inputs.nixpkgs.follows = "desktop-nixpkgs";
|
||||
};
|
||||
|
||||
# Home Manager
|
||||
home-manager = {
|
||||
desktop-home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||
inputs.nixpkgs.follows = "desktop-nixpkgs";
|
||||
};
|
||||
|
||||
home-manager-stable = {
|
||||
url = "github:nix-community/home-manager/release-24.11";
|
||||
inputs.nixpkgs.follows = "nixpkgs-stable";
|
||||
# Impermenance
|
||||
desktop-impermanence = {
|
||||
url = "github:nix-community/impermanence";
|
||||
};
|
||||
|
||||
# Lanzaboote
|
||||
lanzaboote = {
|
||||
desktop-lanzaboote = {
|
||||
url = "github:nix-community/lanzaboote/v0.4.2";
|
||||
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||
inputs.nixpkgs.follows = "desktop-nixpkgs";
|
||||
};
|
||||
|
||||
# Nix hardware
|
||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
||||
|
||||
# Sops-nix
|
||||
sops-nix = {
|
||||
url = "github:Mic92/sops-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs-stable";
|
||||
desktop-nixos-hardware = {
|
||||
url = "github:NixOS/nixos-hardware/master";
|
||||
inputs.nixpkgs.follows = "desktop-nixpkgs";
|
||||
};
|
||||
|
||||
crowdsec = {
|
||||
# Sops-nix
|
||||
desktop-sops-nix = {
|
||||
url = "github:Mic92/sops-nix";
|
||||
inputs.nixpkgs.follows = "desktop-nixpkgs";
|
||||
};
|
||||
|
||||
# steam rom manager
|
||||
desktop-steam-rom-manager = {
|
||||
url = "github:mjallen18/nix-steam-rom-manager";
|
||||
inputs.nixpkgs.follows = "desktop-nixpkgs";
|
||||
inputs.home-manager.follows = "desktop-home-manager";
|
||||
};
|
||||
|
||||
#####################################################
|
||||
# NAS #
|
||||
#####################################################
|
||||
|
||||
# nixpgs
|
||||
nas-nixpkgs = {
|
||||
url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
};
|
||||
|
||||
# Authentik
|
||||
nas-authentik-nix = {
|
||||
url = "github:nix-community/authentik-nix";
|
||||
inputs.nixpkgs.follows = "nas-nixpkgs";
|
||||
};
|
||||
|
||||
# crowdsec
|
||||
nas-crowdsec = {
|
||||
url = "git+https://codeberg.org/kampka/nix-flake-crowdsec.git";
|
||||
inputs.nixpkgs.follows = "nixpkgs-stable";
|
||||
};
|
||||
|
||||
#Apple
|
||||
nix-darwin = {
|
||||
url = "github:LnL7/nix-darwin";
|
||||
# Home Manager
|
||||
nas-home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nas-nixpkgs";
|
||||
};
|
||||
|
||||
# Impermenance
|
||||
nas-impermanence = {
|
||||
url = "github:nix-community/impermanence";
|
||||
};
|
||||
|
||||
# Nix hardware
|
||||
nas-nixos-hardware = {
|
||||
url = "github:NixOS/nixos-hardware/master";
|
||||
inputs.nixpkgs.follows = "nas-nixpkgs";
|
||||
};
|
||||
|
||||
# Sops-nix
|
||||
nas-sops-nix = {
|
||||
url = "github:Mic92/sops-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||
};
|
||||
|
||||
#####################################################
|
||||
# Steamdeck #
|
||||
#####################################################
|
||||
|
||||
# nixpgs
|
||||
steamdeck-nixpkgs = {
|
||||
url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
};
|
||||
|
||||
# Joviain for steamdeck
|
||||
jovian = {
|
||||
steamdeck-jovian = {
|
||||
url = "github:Jovian-Experiments/Jovian-NixOS";
|
||||
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||
inputs.nixpkgs.follows = "steamdeck-nixpkgs";
|
||||
};
|
||||
|
||||
steam-rom-manager = {
|
||||
url = "github:mjallen18/nix-steam-rom-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||
inputs.home-manager.follows = "home-manager";
|
||||
# Chaotic-nix
|
||||
steamdeck-chaotic = {
|
||||
url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
|
||||
};
|
||||
|
||||
cosmic = {
|
||||
url = "github:lilyinstarlight/nixos-cosmic";
|
||||
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||
# Impermenance
|
||||
steamdeck-impermanence = {
|
||||
url = "github:nix-community/impermanence";
|
||||
};
|
||||
|
||||
# Home Manager
|
||||
steamdeck-home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "steamdeck-nixpkgs";
|
||||
};
|
||||
|
||||
# Lanzaboote
|
||||
steamdeck-lanzaboote = {
|
||||
url = "github:nix-community/lanzaboote/v0.4.2";
|
||||
inputs.nixpkgs.follows = "steamdeck-nixpkgs";
|
||||
};
|
||||
|
||||
# Sops-nix
|
||||
steamdeck-sops-nix = {
|
||||
url = "github:Mic92/sops-nix";
|
||||
inputs.nixpkgs.follows = "steamdeck-nixpkgs";
|
||||
};
|
||||
|
||||
# Nix hardware
|
||||
steamdeck-nixos-hardware = {
|
||||
url = "github:NixOS/nixos-hardware/master";
|
||||
inputs.nixpkgs.follows = "steamdeck-nixpkgs";
|
||||
};
|
||||
|
||||
#####################################################
|
||||
# MacBook #
|
||||
#####################################################
|
||||
|
||||
#Apple
|
||||
nix-darwin = {
|
||||
url = "github:LnL7/nix-darwin";
|
||||
inputs.nixpkgs.follows = "desktop-nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs =
|
||||
{
|
||||
self,
|
||||
nixpkgs-unstable,
|
||||
nixpkgs-unstable-small,
|
||||
nixpkgs-stable,
|
||||
chaotic,
|
||||
lanzaboote,
|
||||
impermanence,
|
||||
home-manager,
|
||||
home-manager-stable,
|
||||
nixos-hardware,
|
||||
nix-darwin,
|
||||
cosmic,
|
||||
authentik-nix,
|
||||
sops-nix,
|
||||
crowdsec,
|
||||
jovian,
|
||||
steam-rom-manager,
|
||||
|
||||
# Desktop
|
||||
desktop-nixpkgs,
|
||||
desktop-chaotic,
|
||||
desktop-cosmic,
|
||||
desktop-home-manager,
|
||||
desktop-impermanence,
|
||||
desktop-lanzaboote,
|
||||
desktop-nixos-hardware,
|
||||
desktop-sops-nix,
|
||||
desktop-steam-rom-manager,
|
||||
|
||||
# NAS
|
||||
nas-nixpkgs,
|
||||
nas-authentik-nix,
|
||||
nas-crowdsec,
|
||||
nas-home-manager,
|
||||
nas-impermanence,
|
||||
nas-nixos-hardware,
|
||||
nas-sops-nix,
|
||||
|
||||
# Pi4
|
||||
pi4-nixpkgs,
|
||||
pi4-home-manager,
|
||||
pi4-impermanence,
|
||||
pi4-nixos-hardware,
|
||||
pi4-sops-nix,
|
||||
|
||||
# Steamdeck
|
||||
steamdeck-nixpkgs,
|
||||
steamdeck-chaotic,
|
||||
steamdeck-home-manager,
|
||||
steamdeck-impermanence,
|
||||
steamdeck-jovian,
|
||||
steamdeck-lanzaboote,
|
||||
steamdeck-nixos-hardware,
|
||||
steamdeck-sops-nix,
|
||||
steamdeck-steam-rom-manager,
|
||||
|
||||
# MacBook
|
||||
nix-darwin
|
||||
}@inputs:
|
||||
let
|
||||
inherit (self) outputs;
|
||||
@@ -116,18 +216,18 @@
|
||||
|
||||
nixosConfigurations = {
|
||||
# Desktop
|
||||
"matt-nixos" = nixpkgs-unstable.lib.nixosSystem {
|
||||
"matt-nixos" = desktop-nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit inputs outputs;
|
||||
};
|
||||
modules = [
|
||||
impermanence.nixosModules.impermanence
|
||||
lanzaboote.nixosModules.lanzaboote
|
||||
desktop-impermanence.nixosModules.impermanence
|
||||
desktop-lanzaboote.nixosModules.lanzaboote
|
||||
./hosts/desktop/configuration.nix
|
||||
./share/impermanence
|
||||
chaotic.nixosModules.default
|
||||
home-manager.nixosModules.home-manager
|
||||
desktop-chaotic.nixosModules.default
|
||||
desktop-home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
@@ -136,8 +236,8 @@
|
||||
{
|
||||
imports = [
|
||||
./hosts/desktop/home.nix
|
||||
steam-rom-manager.homeManagerModules.default
|
||||
sops-nix.homeManagerModules.sops
|
||||
desktop-steam-rom-manager.homeManagerModules.default
|
||||
desktop-sops-nix.homeManagerModules.sops
|
||||
];
|
||||
};
|
||||
home-manager.users.root =
|
||||
@@ -145,34 +245,34 @@
|
||||
{
|
||||
imports = [
|
||||
./share/root-user
|
||||
sops-nix.homeManagerModules.sops
|
||||
desktop-sops-nix.homeManagerModules.sops
|
||||
];
|
||||
};
|
||||
home-manager.backupFileExtension = "backup";
|
||||
}
|
||||
|
||||
nixos-hardware.nixosModules.common-cpu-amd
|
||||
nixos-hardware.nixosModules.common-gpu-amd
|
||||
nixos-hardware.nixosModules.common-hidpi
|
||||
nixos-hardware.nixosModules.common-pc
|
||||
desktop-nixos-hardware.nixosModules.common-cpu-amd
|
||||
desktop-nixos-hardware.nixosModules.common-gpu-amd
|
||||
desktop-nixos-hardware.nixosModules.common-hidpi
|
||||
desktop-nixos-hardware.nixosModules.common-pc
|
||||
|
||||
sops-nix.nixosModules.sops
|
||||
desktop-sops-nix.nixosModules.sops
|
||||
|
||||
# cosmic.nixosModules.default
|
||||
# desktop-cosmic.nixosModules.default
|
||||
];
|
||||
};
|
||||
|
||||
# NAS
|
||||
"jallen-nas" = nixpkgs-stable.lib.nixosSystem {
|
||||
"jallen-nas" = nas-nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit inputs outputs;
|
||||
};
|
||||
modules = [
|
||||
impermanence.nixosModules.impermanence
|
||||
nas-impermanence.nixosModules.impermanence
|
||||
./hosts/nas/configuration.nix
|
||||
./hosts/nas/impermanence.nix
|
||||
home-manager-stable.nixosModules.home-manager
|
||||
nas-home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = false;
|
||||
home-manager.useUserPackages = true;
|
||||
@@ -181,7 +281,7 @@
|
||||
{
|
||||
imports = [
|
||||
./hosts/nas/home.nix
|
||||
sops-nix.homeManagerModules.sops
|
||||
nas-sops-nix.homeManagerModules.sops
|
||||
];
|
||||
};
|
||||
home-manager.users.root =
|
||||
@@ -189,42 +289,42 @@
|
||||
{
|
||||
imports = [
|
||||
./share/root-user
|
||||
sops-nix.homeManagerModules.sops
|
||||
nas-sops-nix.homeManagerModules.sops
|
||||
];
|
||||
};
|
||||
home-manager.backupFileExtension = "backup";
|
||||
}
|
||||
|
||||
authentik-nix.nixosModules.default
|
||||
nas-authentik-nix.nixosModules.default
|
||||
|
||||
sops-nix.nixosModules.sops
|
||||
nas-sops-nix.nixosModules.sops
|
||||
|
||||
crowdsec.nixosModules.crowdsec
|
||||
crowdsec.nixosModules.crowdsec-firewall-bouncer
|
||||
nas-crowdsec.nixosModules.crowdsec
|
||||
nas-crowdsec.nixosModules.crowdsec-firewall-bouncer
|
||||
|
||||
(
|
||||
{ ... }:
|
||||
{
|
||||
nixpkgs.overlays = [ crowdsec.overlays.default ];
|
||||
nixpkgs.overlays = [ nas-crowdsec.overlays.default ];
|
||||
}
|
||||
)
|
||||
|
||||
nixos-hardware.nixosModules.common-pc
|
||||
nixos-hardware.nixosModules.common-cpu-amd
|
||||
nixos-hardware.nixosModules.common-hidpi
|
||||
nas-nixos-hardware.nixosModules.common-pc
|
||||
nas-nixos-hardware.nixosModules.common-cpu-amd
|
||||
nas-nixos-hardware.nixosModules.common-hidpi
|
||||
];
|
||||
};
|
||||
|
||||
# Pi4
|
||||
"pi4" = nixpkgs-unstable.lib.nixosSystem {
|
||||
"pi4" = pi4-nixpkgs.lib.nixosSystem {
|
||||
system = "aarch64-linux";
|
||||
modules = [
|
||||
nixos-hardware.nixosModules.raspberry-pi-4
|
||||
impermanence.nixosModules.impermanence
|
||||
pi4-nixos-hardware.nixosModules.raspberry-pi-4
|
||||
pi4-impermanence.nixosModules.impermanence
|
||||
./hosts/pi4/configuration.nix
|
||||
sops-nix.nixosModules.sops
|
||||
pi4-sops-nix.nixosModules.sops
|
||||
|
||||
home-manager.nixosModules.home-manager
|
||||
pi4-home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
@@ -233,17 +333,17 @@
|
||||
];
|
||||
};
|
||||
|
||||
"steamdeck" = nixpkgs-unstable.lib.nixosSystem {
|
||||
"steamdeck" = steamdeck-nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit inputs outputs;
|
||||
};
|
||||
modules = [
|
||||
impermanence.nixosModules.impermanence
|
||||
lanzaboote.nixosModules.lanzaboote
|
||||
steamdeck-impermanence.nixosModules.impermanence
|
||||
steamdeck-lanzaboote.nixosModules.lanzaboote
|
||||
./hosts/deck/configuration.nix
|
||||
./share/impermanence
|
||||
home-manager.nixosModules.home-manager
|
||||
steamdeck-home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
@@ -252,41 +352,41 @@
|
||||
{
|
||||
imports = [
|
||||
./hosts/deck/home.nix
|
||||
steam-rom-manager.homeManagerModules.default
|
||||
steamdeck-steam-rom-manager.homeManagerModules.default
|
||||
];
|
||||
};
|
||||
home-manager.backupFileExtension = "backup";
|
||||
}
|
||||
|
||||
nixos-hardware.nixosModules.common-cpu-amd
|
||||
nixos-hardware.nixosModules.common-gpu-amd
|
||||
nixos-hardware.nixosModules.common-hidpi
|
||||
nixos-hardware.nixosModules.common-pc
|
||||
steamdeck-nixos-hardware.nixosModules.common-cpu-amd
|
||||
steamdeck-nixos-hardware.nixosModules.common-gpu-amd
|
||||
steamdeck-nixos-hardware.nixosModules.common-hidpi
|
||||
steamdeck-nixos-hardware.nixosModules.common-pc
|
||||
|
||||
sops-nix.nixosModules.sops
|
||||
steamdeck-sops-nix.nixosModules.sops
|
||||
|
||||
jovian.nixosModules.jovian
|
||||
steamdeck-jovian.nixosModules.jovian
|
||||
|
||||
chaotic.nixosModules.default
|
||||
steamdeck-chaotic.nixosModules.default
|
||||
];
|
||||
};
|
||||
|
||||
# home assistant
|
||||
"jallen-hass" = nixpkgs-unstable.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
impermanence.nixosModules.impermanence
|
||||
./hosts/homeassistant/configuration.nix
|
||||
sops-nix.nixosModules.sops
|
||||
# "jallen-hass" = nixpkgs-unstable.lib.nixosSystem {
|
||||
# system = "x86_64-linux";
|
||||
# modules = [
|
||||
# impermanence.nixosModules.impermanence
|
||||
# ./hosts/homeassistant/configuration.nix
|
||||
# sops-nix.nixosModules.sops
|
||||
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.hass-admin = import ./hosts/homeassistant/home.nix;
|
||||
}
|
||||
];
|
||||
};
|
||||
# home-manager.nixosModules.home-manager
|
||||
# {
|
||||
# home-manager.useGlobalPkgs = true;
|
||||
# home-manager.useUserPackages = true;
|
||||
# home-manager.users.hass-admin = import ./hosts/homeassistant/home.nix;
|
||||
# }
|
||||
# ];
|
||||
# };
|
||||
};
|
||||
|
||||
darwinConfigurations = {
|
||||
@@ -294,7 +394,7 @@
|
||||
system = "aarch64-darwin";
|
||||
modules = [
|
||||
./hosts/mac/configuration.nix
|
||||
home-manager.darwinModules.home-manager
|
||||
desktop-home-manager.darwinModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
@@ -307,7 +407,7 @@
|
||||
# Improved build-all app
|
||||
apps.x86_64-linux.build-all =
|
||||
let
|
||||
pkgs = nixpkgs-unstable.legacyPackages.x86_64-linux;
|
||||
pkgs = nas-nixpkgs.legacyPackages.x86_64-linux;
|
||||
in
|
||||
{
|
||||
type = "app";
|
||||
@@ -395,7 +495,7 @@
|
||||
# You could also provide a separate script that only lists systems
|
||||
apps.x86_64-linux.list-systems =
|
||||
let
|
||||
pkgs = nixpkgs-unstable.legacyPackages.x86_64-linux;
|
||||
pkgs = nas-nixpkgs.legacyPackages.x86_64-linux;
|
||||
in
|
||||
{
|
||||
type = "app";
|
||||
|
||||
Reference in New Issue
Block a user