1
Fork 0
mirror of https://github.com/RGBCube/ncc synced 2025-07-28 10:37:44 +00:00

Remove dep duplication

This commit is contained in:
RGBCube 2024-03-25 21:34:13 +03:00
parent 45efed900e
commit d7610f2455
No known key found for this signature in database
4 changed files with 293 additions and 624 deletions

758
flake.lock generated

File diff suppressed because it is too large Load diff

143
flake.nix
View file

@ -1,62 +1,32 @@
{
description = "All my NixOS configurations.";
description = "RGBCube's NixOS Configuration Collection";
nixConfig = {
extra-substituters = [
"https://cache.garnix.io/"
# "https://cache.privatevoid.net/"
"https://ghostty.cachix.org/"
"https://hyprland.cachix.org/"
"https://nix-community.cachix.org/"
];
extra-trusted-public-keys = [
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
"cache.privatevoid.net-1:SErQ8bvNWANeAvtsOESUwVYr2VJynfuc9JRwlzTTkVg="
"ghostty.cachix.org-1:QB389yTa6gTyneehvqG58y0WnHjQOqgnA+wBnpWWxns="
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
extra-substituters = "https://cache.garnix.io/";
extra-trusted-public-keys = "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=";
};
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs";
nixSuper = {
url = "github:privatevoid-net/nix-super";
};
nixpkgs = {
url = "github:NixOS/nixpkgs/nixos-unstable";
inputs.flake-compat.follows = "flakeCompat";
# inputs.nixpkgs.follows = "nixpkgs";
};
homeManager = {
url = "github:nix-community/home-manager";
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
agenix = {
url = "github:ryantm/agenix";
inputs.nixpkgs.follows = "nixpkgs";
};
ageNix = {
url = "github:ryantm/agenix";
mail = {
url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland = {
url = "github:hyprwm/Hyprland";
};
hyprpicker = {
url = "github:hyprwm/hyprpicker";
};
ghostty = {
url = "git+ssh://git@github.com/mitchellh/ghostty";
};
ghosttyModule = {
url = "github:clo4/ghostty-hm-module";
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "homeManager";
};
nuScripts = {
@ -64,30 +34,91 @@
flake = false;
};
simpleMail = {
url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
inputs.nixpkgs.follows = "nixpkgs";
inputs.utils.follows = "flakeUtils";
inputs.flake-compat.follows = "flakeCompat";
};
hyprland = {
url = "github:hyprwm/Hyprland";
inputs.hyprlang.follows = "hyprlang";
inputs.nixpkgs.follows = "nixpkgs";
inputs.systems.follows = "systems";
};
hyprpicker = {
url = "github:hyprwm/hyprpicker";
inputs.nixpkgs.follows = "nixpkgs";
};
ghostty = {
url = "git+ssh://git@github.com/RGBCube/ghostty";
inputs.nixpkgs-unstable.follows = "nixpkgs";
inputs.nixpkgs-stable.follows = "nixpkgs";
inputs.zig.follows = "zig";
inputs.zls.follows = "zig";
};
fenix = {
url = "github:nix-community/fenix";
inputs.nixpkgs.follows = "nixpkgs";
url = "github:nix-community/fenix";
inputs.nixpkgs.follows = "nixpkgs";
};
zig = {
url = "github:mitchellh/zig-overlay";
inputs.nixpkgs.follows = "nixpkgs";
url = "github:mitchellh/zig-overlay";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flakeUtils";
inputs.flake-compat.follows = "flakeCompat";
};
zls = {
url = "github:zigtools/zls";
inputs.nixpkgs.follows = "nixpkgs";
url = "github:zigtools/zls/master";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flakeUtils";
inputs.zig-overlay.follows = "zig";
};
themes = {
url = "github:RGBCube/ThemeNix";
ghosttyModule.url = "github:clo4/ghostty-hm-module";
themes.url = "github:RGBCube/ThemeNix";
# I don't use these, but I place them here and make the other
# inputs follow them, so I get much less duplicate code pulled in.
flakeUtils = {
url = "github:numtide/flake-utils";
inputs.systems.follows = "systems";
};
flakeCompat = {
url = "github:edolstra/flake-compat";
flake = false;
};
systems.url = "github:nix-systems/default";
hyprlang = {
url = "github:hyprwm/hyprlang";
inputs.nixpkgs.follows = "nixpkgs";
inputs.systems.follows = "systems";
};
};
outputs = {
nixpkgs,
agenix,
mail,
ageNix,
simpleMail,
homeManager,
themes,
...
@ -120,7 +151,7 @@
pkgs = import nixpkgs { inherit system; };
upkgs = let
defaults = lib.genAttrs
[ "nixSuper" "agenix" "hyprland" "hyprpicker" "ghostty" "zls" ]
[ "nixSuper" "ageNix" "hyprland" "hyprpicker" "ghostty" "zls" ]
(name: inputs.${name}.packages.${system}.default);
other = {
@ -183,10 +214,10 @@
in [
homeManager.nixosModules.default
agenix.nixosModules.default
ageNix.nixosModules.default
./secrets
mail.nixosModules.default
simpleMail.nixosModules.default
defaultConfiguration
] ++ (importDirectory ./hosts/${host})

View file

@ -13,6 +13,8 @@
})
(systemConfiguration {
environment.etc."flakes".text = builtins.toJSON inputs;
nix = {
gc = {
automatic = true;
@ -27,10 +29,11 @@
package = upkgs.nixSuper;
registry = (builtins.mapAttrs
(_: value: lib.mkIf (value ? sourceInfo) {
flake = value;
}) inputs) // { default.flake = inputs.nixpkgs; };
registry = {
default.flake = inputs.nixpkgs;
} // builtins.mapAttrs (_: value: lib.mkIf (lib.isType "flake" value) {
flake = value;
}) inputs;
settings.experimental-features = [
"auto-allocate-uids"
@ -47,7 +50,8 @@
settings = {
accept-flake-config = true;
builders-use-substitutes = true;
builders-use-substitutes = true;
flake-registry = ""; # I DON'T WANT THE GLOBAL REGISTRY!!!
http-connections = 50;
trusted-users = [ "root" "@wheel" ];
use-cgroups = true;

View file

@ -26,7 +26,7 @@
]))
(desktopSystemPackages (with pkgs; [
upkgs.agenix
upkgs.ageNix
clang_16
clang-tools_16