2023-09-29 23:46:34 -04:00
|
|
|
{
|
2023-12-03 04:50:17 -05:00
|
|
|
outputs = inputs @ {
|
2023-12-01 03:07:17 -05:00
|
|
|
self,
|
|
|
|
home-manager,
|
|
|
|
nixpkgs,
|
2023-12-08 14:59:44 -05:00
|
|
|
nix-on-droid,
|
2023-12-05 20:15:27 -05:00
|
|
|
secrets,
|
2023-12-01 03:07:17 -05:00
|
|
|
...
|
2023-12-03 04:50:17 -05:00
|
|
|
}: let
|
|
|
|
supportedSystems = ["x86_64-linux" "aarch64-linux"];
|
2023-12-03 02:24:11 -05:00
|
|
|
|
2023-12-03 04:50:17 -05:00
|
|
|
perSystem = attrs:
|
|
|
|
nixpkgs.lib.genAttrs supportedSystems (system: let
|
|
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
|
|
in
|
|
|
|
attrs system pkgs);
|
2023-12-03 02:24:11 -05:00
|
|
|
|
2023-12-03 04:50:17 -05:00
|
|
|
# Default system
|
2023-12-05 20:10:40 -05:00
|
|
|
mkNixOS = mods:
|
|
|
|
nixpkgs.lib.nixosSystem {
|
|
|
|
system = "x86_64-linux";
|
|
|
|
specialArgs = inputs;
|
2023-12-01 03:07:17 -05:00
|
|
|
modules =
|
2023-12-05 20:10:40 -05:00
|
|
|
[
|
|
|
|
{home-manager.extraSpecialArgs = inputs;}
|
|
|
|
./common
|
|
|
|
]
|
|
|
|
++ mods;
|
2023-12-01 03:07:17 -05:00
|
|
|
};
|
2024-01-17 20:40:12 -05:00
|
|
|
|
|
|
|
# Nix-On-Droid
|
|
|
|
inherit (nix-on-droid.lib) nixOnDroidConfiguration;
|
2023-12-05 20:10:40 -05:00
|
|
|
in {
|
|
|
|
nixosConfigurations = {
|
2024-01-09 09:17:54 -05:00
|
|
|
wim = mkNixOS [
|
|
|
|
./devices/wim
|
|
|
|
secrets.nixosModules.default
|
|
|
|
];
|
2023-12-05 20:10:40 -05:00
|
|
|
binto = mkNixOS [./devices/binto];
|
2023-12-06 13:59:14 -05:00
|
|
|
|
2024-03-02 02:59:40 -05:00
|
|
|
nos = mkNixOS [
|
|
|
|
./devices/nos
|
|
|
|
secrets.nixosModules.nos
|
|
|
|
];
|
|
|
|
|
2023-12-26 00:48:43 -05:00
|
|
|
servivi = mkNixOS [
|
|
|
|
./devices/servivi
|
|
|
|
secrets.nixosModules.servivi
|
|
|
|
];
|
2023-12-15 10:15:42 -05:00
|
|
|
|
2024-01-21 20:08:27 -05:00
|
|
|
# Cluster
|
|
|
|
thingone = mkNixOS [
|
|
|
|
(import ./devices/cluster "thingone")
|
2024-01-21 22:11:38 -05:00
|
|
|
secrets.nixosModules.thingy
|
2024-01-21 20:08:27 -05:00
|
|
|
];
|
|
|
|
thingtwo = mkNixOS [
|
|
|
|
(import ./devices/cluster "thingtwo")
|
2024-01-21 22:11:38 -05:00
|
|
|
secrets.nixosModules.thingy
|
2024-01-21 20:08:27 -05:00
|
|
|
];
|
|
|
|
|
2023-12-15 10:15:42 -05:00
|
|
|
live-image = mkNixOS [
|
2023-12-20 03:51:27 -05:00
|
|
|
("${nixpkgs}/nixos/modules/installer/"
|
|
|
|
+ "cd-dvd/installation-cd-minimal.nix")
|
2024-01-06 11:35:45 -05:00
|
|
|
{home-manager.users.nixos.home.stateVersion = "24.05";}
|
2024-01-09 13:13:04 -05:00
|
|
|
{vars.mainUser = "nixos";}
|
2023-12-15 10:15:42 -05:00
|
|
|
];
|
2023-12-01 03:07:17 -05:00
|
|
|
};
|
|
|
|
|
2024-01-17 20:40:12 -05:00
|
|
|
nixOnDroidConfigurations.default = nixOnDroidConfiguration (
|
|
|
|
import ./devices/android inputs
|
|
|
|
);
|
2023-12-08 14:59:44 -05:00
|
|
|
|
2023-12-03 04:50:17 -05:00
|
|
|
formatter = perSystem (_: pkgs: pkgs.alejandra);
|
2023-12-15 10:15:42 -05:00
|
|
|
|
|
|
|
devShells = perSystem (_: pkgs: {
|
|
|
|
default = pkgs.mkShell {
|
|
|
|
packages = with pkgs; [
|
|
|
|
alejandra
|
|
|
|
git
|
|
|
|
|
|
|
|
(pkgs.writeShellScriptBin "mkIso" (lib.concatStrings [
|
|
|
|
"nix build $(realpath /etc/nixos)#nixosConfigurations."
|
|
|
|
"live-image.config.system.build.isoImage"
|
|
|
|
]))
|
|
|
|
];
|
|
|
|
};
|
2024-03-01 01:34:42 -05:00
|
|
|
|
|
|
|
ags = pkgs.mkShell {
|
|
|
|
packages = with pkgs; [
|
|
|
|
nodejs_18
|
|
|
|
];
|
|
|
|
};
|
2024-03-26 11:44:41 -04:00
|
|
|
|
|
|
|
node-dev = pkgs.mkShell {
|
|
|
|
packages = with pkgs;
|
|
|
|
[
|
|
|
|
nodejs_latest
|
2024-03-27 01:27:03 -04:00
|
|
|
ffmpeg
|
2024-03-26 11:44:41 -04:00
|
|
|
typescript
|
|
|
|
]
|
|
|
|
++ (with nodePackages; [
|
|
|
|
ts-node
|
|
|
|
]);
|
|
|
|
};
|
2023-12-15 10:15:42 -05:00
|
|
|
});
|
2023-12-01 03:07:17 -05:00
|
|
|
};
|
|
|
|
|
2023-09-29 23:46:34 -04:00
|
|
|
inputs = {
|
2023-12-31 15:44:53 -05:00
|
|
|
# Main inputs
|
|
|
|
nixpkgs = {
|
|
|
|
type = "github";
|
|
|
|
owner = "NixOS";
|
|
|
|
repo = "nixpkgs";
|
|
|
|
ref = "nixos-unstable";
|
|
|
|
};
|
|
|
|
|
|
|
|
home-manager = {
|
|
|
|
type = "github";
|
2024-03-12 19:44:05 -04:00
|
|
|
owner = "nix-community";
|
2023-12-31 15:44:53 -05:00
|
|
|
repo = "home-manager";
|
|
|
|
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
|
2023-12-05 20:15:27 -05:00
|
|
|
secrets = {
|
2023-12-31 15:44:53 -05:00
|
|
|
type = "git";
|
|
|
|
url = "ssh://git@git.nelim.org/matt1432/nixos-secrets";
|
|
|
|
|
2023-12-05 20:15:27 -05:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-10-30 10:30:11 -04:00
|
|
|
|
2023-12-08 14:59:44 -05:00
|
|
|
nix-on-droid = {
|
2023-12-31 15:44:53 -05:00
|
|
|
type = "github";
|
2024-03-12 19:44:05 -04:00
|
|
|
owner = "nix-community";
|
2023-12-31 15:44:53 -05:00
|
|
|
repo = "nix-on-droid";
|
|
|
|
|
|
|
|
inputs = {
|
|
|
|
nixpkgs.follows = "nixpkgs";
|
|
|
|
home-manager.follows = "home-manager";
|
|
|
|
};
|
2023-12-08 14:59:44 -05:00
|
|
|
};
|
|
|
|
|
2023-12-31 15:44:53 -05:00
|
|
|
# Overlays
|
|
|
|
nixpkgs-wayland = {
|
|
|
|
type = "github";
|
|
|
|
owner = "nix-community";
|
|
|
|
repo = "nixpkgs-wayland";
|
|
|
|
};
|
2023-10-11 18:02:04 -04:00
|
|
|
|
2023-12-31 15:44:53 -05:00
|
|
|
nur = {
|
|
|
|
type = "github";
|
|
|
|
owner = "nix-community";
|
|
|
|
repo = "NUR";
|
|
|
|
};
|
2023-10-20 11:22:20 -04:00
|
|
|
|
2023-12-31 15:44:53 -05:00
|
|
|
nix-gaming = {
|
|
|
|
type = "github";
|
2024-03-12 19:44:05 -04:00
|
|
|
owner = "fufexan";
|
2023-12-31 15:44:53 -05:00
|
|
|
repo = "nix-gaming";
|
2023-11-28 21:43:26 -05:00
|
|
|
};
|
|
|
|
|
2024-01-17 13:55:57 -05:00
|
|
|
# Cluster Inputs
|
2024-02-01 11:48:38 -05:00
|
|
|
pcsd = {
|
2024-01-17 13:55:57 -05:00
|
|
|
type = "github";
|
2024-01-26 14:28:42 -05:00
|
|
|
owner = "matt1432";
|
2024-02-01 11:48:38 -05:00
|
|
|
repo = "nixos-pcsd";
|
2024-01-17 13:55:57 -05:00
|
|
|
};
|
|
|
|
|
2023-11-28 21:43:26 -05:00
|
|
|
headscale = {
|
2023-12-31 15:44:53 -05:00
|
|
|
type = "github";
|
|
|
|
owner = "juanfont";
|
|
|
|
repo = "headscale";
|
|
|
|
|
2024-02-12 00:48:13 -05:00
|
|
|
# FIXME: wait for nixpkgs to reach this : https://github.com/juanfont/headscale/commit/94b30abf56ae09d82a1541bbc3d19557914f9b27
|
|
|
|
rev = "00e7550e760b2d3d759471ff55d2b6e2dc81ad2b";
|
|
|
|
|
2023-11-28 21:43:26 -05:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
2023-11-29 22:15:31 -05:00
|
|
|
};
|
2023-12-31 15:44:53 -05:00
|
|
|
|
2023-11-29 22:15:31 -05:00
|
|
|
caddy-plugins = {
|
2023-12-31 15:44:53 -05:00
|
|
|
type = "github";
|
|
|
|
owner = "matt1432";
|
|
|
|
repo = "nixos-caddy-cloudflare";
|
|
|
|
|
2023-11-29 22:15:31 -05:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
2023-09-29 23:46:34 -04:00
|
|
|
};
|
|
|
|
|
2023-12-31 15:44:53 -05:00
|
|
|
# Servivi inputs
|
2023-12-26 17:10:10 -05:00
|
|
|
nms = {
|
2023-12-31 15:44:53 -05:00
|
|
|
type = "github";
|
|
|
|
owner = "matt1432";
|
|
|
|
repo = "nixos-minecraft-servers";
|
|
|
|
|
2023-12-26 17:10:10 -05:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
|
2024-03-05 09:27:11 -05:00
|
|
|
# Nos inputs
|
2024-01-05 03:41:21 -05:00
|
|
|
arion = {
|
|
|
|
type = "github";
|
|
|
|
owner = "hercules-ci";
|
|
|
|
repo = "arion";
|
|
|
|
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2024-03-05 09:27:11 -05:00
|
|
|
jellyfin-flake = {
|
|
|
|
type = "github";
|
|
|
|
owner = "matt1432";
|
|
|
|
repo = "nixos-jellyfin";
|
|
|
|
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2024-01-05 03:41:21 -05:00
|
|
|
|
2023-12-31 15:44:53 -05:00
|
|
|
# Desktop inputs
|
2023-11-20 12:16:13 -05:00
|
|
|
hyprland = {
|
2023-12-31 15:44:53 -05:00
|
|
|
type = "github";
|
|
|
|
owner = "hyprwm";
|
|
|
|
repo = "Hyprland";
|
|
|
|
|
2023-11-20 12:16:13 -05:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2024-02-21 17:21:57 -05:00
|
|
|
hypridle = {
|
|
|
|
type = "github";
|
|
|
|
owner = "hyprwm";
|
|
|
|
repo = "hypridle";
|
|
|
|
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2024-03-03 17:18:59 -05:00
|
|
|
hyprlock = {
|
|
|
|
type = "github";
|
|
|
|
owner = "hyprwm";
|
|
|
|
repo = "hyprlock";
|
|
|
|
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-12-31 15:44:53 -05:00
|
|
|
|
2024-01-23 09:06:09 -05:00
|
|
|
# FIXME: https://github.com/horriblename/hyprgrass/issues/76
|
2023-09-29 23:46:34 -04:00
|
|
|
hyprgrass = {
|
2023-12-31 15:44:53 -05:00
|
|
|
type = "github";
|
|
|
|
owner = "horriblename";
|
|
|
|
repo = "hyprgrass";
|
|
|
|
|
2023-09-29 23:46:34 -04:00
|
|
|
inputs.hyprland.follows = "hyprland";
|
|
|
|
};
|
|
|
|
|
2024-02-05 06:25:43 -05:00
|
|
|
hycov = {
|
|
|
|
type = "github";
|
2024-03-08 15:01:52 -05:00
|
|
|
owner = "Ayuei";
|
2024-02-05 06:25:43 -05:00
|
|
|
repo = "hycov";
|
|
|
|
|
|
|
|
inputs.hyprland.follows = "hyprland";
|
|
|
|
};
|
|
|
|
|
2023-10-11 18:02:04 -04:00
|
|
|
ags = {
|
2023-12-31 15:44:53 -05:00
|
|
|
type = "github";
|
|
|
|
owner = "Aylur";
|
|
|
|
repo = "ags";
|
|
|
|
|
2023-10-11 18:02:04 -04:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2024-03-05 19:37:09 -05:00
|
|
|
astal = {
|
|
|
|
type = "github";
|
|
|
|
owner = "Aylur";
|
|
|
|
repo = "Astal";
|
|
|
|
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-10-11 18:02:04 -04:00
|
|
|
|
2024-01-23 09:06:09 -05:00
|
|
|
coc-stylelintplus = {
|
2023-12-31 15:44:53 -05:00
|
|
|
type = "github";
|
|
|
|
owner = "matt1432";
|
|
|
|
repo = "coc-stylelintplus";
|
|
|
|
|
2023-11-25 23:55:08 -05:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-11-19 15:09:57 -05:00
|
|
|
|
2023-12-31 15:44:53 -05:00
|
|
|
# Nix tools
|
|
|
|
nurl = {
|
|
|
|
type = "github";
|
|
|
|
owner = "nix-community";
|
|
|
|
repo = "nurl";
|
|
|
|
};
|
2023-11-22 14:36:42 -05:00
|
|
|
|
2023-12-01 03:07:17 -05:00
|
|
|
nix-index-db = {
|
2023-12-31 15:44:53 -05:00
|
|
|
type = "github";
|
|
|
|
owner = "Mic92";
|
|
|
|
repo = "nix-index-database";
|
|
|
|
|
2023-11-22 14:36:42 -05:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-12-31 15:44:53 -05:00
|
|
|
|
|
|
|
# FIXME: these prevent from using nixos-install
|
|
|
|
nh = {
|
|
|
|
type = "github";
|
|
|
|
owner = "viperML";
|
|
|
|
repo = "nh";
|
|
|
|
};
|
|
|
|
|
|
|
|
nix-melt = {
|
|
|
|
type = "github";
|
|
|
|
owner = "nix-community";
|
|
|
|
repo = "nix-melt";
|
|
|
|
};
|
|
|
|
|
|
|
|
# -= Non-flake inputs =-
|
|
|
|
|
|
|
|
## Custom packages
|
2024-03-25 22:42:23 -04:00
|
|
|
pocketsphinx-src = {
|
|
|
|
type = "github";
|
|
|
|
owner = "cmusphinx";
|
|
|
|
repo = "pocketsphinx";
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
subsync-src = {
|
|
|
|
type = "github";
|
|
|
|
owner = "sc0ty";
|
|
|
|
repo = "subsync";
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
|
2023-12-31 15:44:53 -05:00
|
|
|
trash-d-src = {
|
|
|
|
type = "github";
|
|
|
|
owner = "rushsteve1";
|
|
|
|
repo = "trash-d";
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
pam-fprint-grosshack-src = {
|
|
|
|
type = "gitlab";
|
|
|
|
owner = "mishakmak";
|
|
|
|
repo = "pam-fprint-grosshack";
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
pokemon-colorscripts-src = {
|
|
|
|
type = "gitlab";
|
|
|
|
owner = "phoneybadger";
|
|
|
|
repo = "pokemon-colorscripts";
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
|
2024-01-30 21:04:11 -05:00
|
|
|
curseforge-server-downloader-src = {
|
|
|
|
type = "github";
|
|
|
|
owner = "Malpiszonekx4";
|
|
|
|
repo = "curseforge-server-downloader";
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
|
2024-03-11 09:12:47 -04:00
|
|
|
vimplugin-riscv-src = {
|
|
|
|
type = "github";
|
|
|
|
owner = "henry-hsieh";
|
|
|
|
repo = "riscv-asm-vim";
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
|
2023-12-31 15:44:53 -05:00
|
|
|
## Overlays
|
|
|
|
gpu-screen-recorder-src = {
|
|
|
|
type = "git";
|
|
|
|
url = "https://repo.dec05eba.com/gpu-screen-recorder";
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
|
2024-01-01 17:34:49 -05:00
|
|
|
# MPV scripts
|
|
|
|
modernx-src = {
|
|
|
|
type = "github";
|
|
|
|
owner = "cyl0";
|
|
|
|
repo = "ModernX";
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
persist-properties-src = {
|
|
|
|
type = "github";
|
|
|
|
owner = "d87";
|
|
|
|
repo = "mpv-persist-properties";
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
pointer-event-src = {
|
|
|
|
type = "github";
|
|
|
|
owner = "christoph-heinrich";
|
|
|
|
repo = "mpv-pointer-event";
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
touch-gestures-src = {
|
|
|
|
type = "github";
|
|
|
|
owner = "christoph-heinrich";
|
|
|
|
repo = "mpv-touch-gestures";
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
eisa-scripts-src = {
|
|
|
|
type = "github";
|
|
|
|
owner = "Eisa01";
|
|
|
|
repo = "mpv-scripts";
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
|
2024-02-26 14:38:51 -05:00
|
|
|
## Dracula and theme src
|
2024-03-05 10:26:39 -05:00
|
|
|
jellyfin-ultrachromic-src = {
|
|
|
|
type = "github";
|
|
|
|
owner = "CTalvio";
|
|
|
|
repo = "Ultrachromic";
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
|
2024-02-26 14:38:51 -05:00
|
|
|
bat-theme-src = {
|
2024-01-23 09:06:09 -05:00
|
|
|
type = "github";
|
2024-02-26 14:38:51 -05:00
|
|
|
owner = "matt1432";
|
|
|
|
repo = "bat";
|
2024-01-23 09:06:09 -05:00
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
|
2024-02-26 14:38:51 -05:00
|
|
|
firefox-gx-src = {
|
2023-12-31 15:44:53 -05:00
|
|
|
type = "github";
|
2024-02-26 14:38:51 -05:00
|
|
|
owner = "Godiesc";
|
|
|
|
repo = "firefox-gx";
|
|
|
|
ref = "v.9.0";
|
2023-12-31 15:44:53 -05:00
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
git-theme-src = {
|
|
|
|
type = "github";
|
|
|
|
owner = "dracula";
|
|
|
|
repo = "git";
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
gtk-theme-src = {
|
|
|
|
type = "github";
|
|
|
|
owner = "dracula";
|
|
|
|
repo = "gtk";
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
|
2024-02-26 14:38:51 -05:00
|
|
|
nvim-theme-src = {
|
|
|
|
type = "github";
|
|
|
|
owner = "Mofiqul";
|
|
|
|
repo = "dracula.nvim";
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
|
2023-12-31 15:44:53 -05:00
|
|
|
plymouth-theme-src = {
|
|
|
|
type = "github";
|
2024-01-06 16:40:47 -05:00
|
|
|
owner = "matt1432";
|
|
|
|
repo = "dracula-plymouth";
|
2023-12-31 15:44:53 -05:00
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
xresources-theme-src = {
|
|
|
|
type = "github";
|
|
|
|
owner = "dracula";
|
|
|
|
repo = "xresources";
|
|
|
|
flake = false;
|
|
|
|
};
|
2023-09-29 23:46:34 -04:00
|
|
|
};
|
|
|
|
}
|