mirror of
https://github.com/callumio/nixfiles.git
synced 2025-12-17 03:29:20 +00:00
initial commit
This commit is contained in:
commit
c45c7f26a4
28 changed files with 1531 additions and 0 deletions
115
flake.nix
Normal file
115
flake.nix
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
{
|
||||
description = "C's Nix-Config";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
|
||||
unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
|
||||
nixinate = {
|
||||
url = "github:callumio/nixinate";
|
||||
inputs.nixpkgs.follows = "unstable";
|
||||
};
|
||||
|
||||
devour-flake = {
|
||||
url = "github:srid/devour-flake";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
nixvim = {
|
||||
url = "github:callumio/nixvim";
|
||||
inputs.nixpkgs.follows = "unstable";
|
||||
};
|
||||
|
||||
agenix = {
|
||||
url = "github:ryantm/agenix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# i don't need darwin!!!
|
||||
inputs.darwin.follows = "";
|
||||
};
|
||||
|
||||
utils.url = "github:gytis-ivaskevicius/flake-utils-plus";
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-24.05";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
#omnix-flake.url = "github:juspay/omnix?dir=nix/om";
|
||||
|
||||
disko = {
|
||||
url = "github:nix-community/disko";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nur.url = "github:nix-community/NUR";
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
disko,
|
||||
nixpkgs,
|
||||
nixinate,
|
||||
utils,
|
||||
nur,
|
||||
home-manager,
|
||||
...
|
||||
} @ inputs: let
|
||||
inherit (utils.lib) mkApp;
|
||||
mods = import ./modules {inherit utils;};
|
||||
hosts = import ./hosts {inherit utils;};
|
||||
overlay = import ./overlays {inherit inputs;};
|
||||
in
|
||||
with mods.nixosModules;
|
||||
utils.lib.mkFlake {
|
||||
inherit self inputs;
|
||||
inherit (mods) nixosModules;
|
||||
inherit (hosts) hosts;
|
||||
supportedSystems = ["x86_64-linux" "aarch64-linux"];
|
||||
channelsConfig.allowUnfree = true;
|
||||
channelsConfig.allowBroken = false;
|
||||
|
||||
channels.nixpkgs.overlaysBuilder = channels: [
|
||||
(final: prev: {
|
||||
inherit (channels) unstable;
|
||||
})
|
||||
];
|
||||
|
||||
channels.unstable.overlaysBuilder = channels: [
|
||||
(final: prev: {
|
||||
jellyfin-ffmpeg = prev.jellyfin-ffmpeg.override {
|
||||
ffmpeg_6-full = prev.ffmpeg_6-full.override {
|
||||
withMfx = false;
|
||||
withVpl = true;
|
||||
};
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
sharedOverlays = [
|
||||
overlay
|
||||
nur.overlay
|
||||
];
|
||||
|
||||
hostDefaults.modules = [home-manager.nixosModules.home-manager inputs.agenix.nixosModules.default] ++ mods.sharedModules;
|
||||
|
||||
hostDefaults.extraArgs = {
|
||||
inherit inputs;
|
||||
};
|
||||
|
||||
outputsBuilder = channels:
|
||||
with channels.nixpkgs; {
|
||||
defaultPackage = nixvim;
|
||||
packages = utils.lib.exportPackages self.overlays channels;
|
||||
|
||||
formatter = alejandra;
|
||||
devShell = mkShell {
|
||||
packages = [just git nixvim cachix jq devour-flake agenix];
|
||||
};
|
||||
};
|
||||
overlays = utils.lib.exportOverlays {
|
||||
inherit (self) pkgs inputs;
|
||||
};
|
||||
apps.x86_64-linux = (nixinate.nixinate.x86_64-linux self).nixinate;
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue